Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] newsletter - timeout
bulion
post 18.04.2009, 11:14:10
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 4.11.2007

Ostrzeżenie: (0%)
-----


Witam serdecznie.

Zainstalowałem na swoim serwerze (home.pl) skrypt newslettera.
skrypt zowie się txtList. Sam w sobie - prosty i działa genialnie.

W bazie mam 4000 tyś. e-maili. Gdy rozpoczynam wysyłkę, skrypt "mieli"
po czym wyświetla się pusta biała strona. W bazie podałem dla testów swojego e-maila.
Newsletter otrzymałem, ale skrypt nie wyświetlił potwierdzenia - co za tym idzie, nie ma żadnej pewności
że wszyscy adresaci otrzymali newsletter.

Po skontaktowaniu się z administracją serwera została mi udzielona informacja:

Sytuacja, ktora Pan opisuje moze byc spowodowana nie tyle sama iloscia adresatow co czasem trwania procesu. Kazdy serwer w home.pl posiada ograniczenie czasu wykonywania skryptu. Skrypt moze sie wykonywac przez 300 sekund. Podejrzewam, ze liczba 4000 maili do wyslania moze nie zmiescic sie w tym czasie a to oznacza, ze wysylana jest tylko ta "mieszczaca sie" ilosc.

W miare mozliwosci proponujemy taka modyfikacje ustawien zeby maile wysylane byly kilku mniejszych paczkach.

Zajrzałem więc w mój skrypt choć nie mam pojęcia co zrobić.

W pliku konfiguracyjnym znalazłem takie oto linijki. Czy zmiana parametrów może pomóc?

  1. <?php
  2. // When sending, txtList will pause every pauseinterval'th email, for pausetime seconds.
  3. $cfg['pauseinterval'] = 100;
  4.  
  5. // Number of seconds to pause at each pauseinterval.
  6. $cfg['pausetime'] = 3;
  7. ?>


a może powinienm zmienić coś w skrypcie odpowiadającym za wysyłkę newslettera.
BY wysyłał np. po 1000 maili, przerwa i kolejne 1000, itd.

Zawartość pliku "admin_email.inc.php" chciałem tutaj wkleić, jednak post nie chciał się dodać (za długi).

proszę o pomoc

Ten post edytował bulion 18.04.2009, 11:15:44
Go to the top of the page
+Quote Post
1010
post 18.04.2009, 13:50:08
Post #2





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

Ostrzeżenie: (0%)
-----


Cytat
a może powinienm zmienić coś w skrypcie odpowiadającym za wysyłkę newslettera.
BY wysyłał np. po 1000 maili, przerwa i kolejne 1000, itd.


Dokładnie tak musiałbyś to zrobić. Jednak według mnie 1000 to i tak za dużo.


--------------------
Go to the top of the page
+Quote Post
bulion
post 19.04.2009, 09:10:32
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 4.11.2007

Ostrzeżenie: (0%)
-----


a mogę prosić o jakieś instrukcje?
jak to skleić?
Go to the top of the page
+Quote Post
1010
post 19.04.2009, 20:11:21
Post #4





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

Ostrzeżenie: (0%)
-----


Ja to robie tak smile.gif

Na starcie zapisuje wszystkie e-maile do których mam wysłać newsletter do pliku txt, po czym mam skrypt który wyciąga pierwsze 100 e-maili, wysyła newsletter, i te 100 e-maili wysyła. I dodatkowo jest ustawione odświeżanie co 30 sekund.

Potem dodatkowo mam dorobiony pasek postępu itp.

Sprawdza się genialnie smile.gif


--------------------
Go to the top of the page
+Quote Post
guitarnet.pl
post 20.04.2009, 17:08:23
Post #5





Grupa: Zarejestrowani
Postów: 74
Pomógł: 4
Dołączył: 7.03.2008

Ostrzeżenie: (0%)
-----


sztywne ustawienie odswiezania na 30 sekund moze nastapic w trakcie wysylania maila a przed usunieciem go z puli co sprawi ze email zostanie wyslany dwukrotnie do tej samej osoby

alternatywnie mozna badac czas wykonywania skryptu w kazdej petli i jak zblizy sie do (timeout-5sekund) to wyslac header i przerwac petle po zakonczeniu operacji, daje to 100% kontrole nad poprawnoscia - sposob wymaga otwartej przegladarki

kilka dni temu na fourum pokazalemtez sposob z uzyciem respawn ktory uzywa np system mailingowy pommo, ten sposob nie wymaga nawet otwartej przegladarki


--------------------
Skrypty php, ajax, javascript
Go to the top of the page
+Quote Post
1010
post 20.04.2009, 18:24:13
Post #6





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

Ostrzeżenie: (0%)
-----


ja to mam na tej zasadzie że czas daje duża rezerwę w stosunku do ilości wysyłanych e-maili.


--------------------
Go to the top of the page
+Quote Post
guitarnet.pl
post 20.04.2009, 18:29:45
Post #7





Grupa: Zarejestrowani
Postów: 74
Pomógł: 4
Dołączył: 7.03.2008

Ostrzeżenie: (0%)
-----


nie wyborazam sobie takiego rozwiazania dla 100tys maili aczkolwiek dla 4000 pewnie bez roznicy..


--------------------
Skrypty php, ajax, javascript
Go to the top of the page
+Quote Post
rafalskula
post 4.09.2013, 21:32:48
Post #8





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 12.09.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam , odświeżę temat.
Serwer gdzie mam mailing zmienia swoje parametry i za parę dni będę mógł wysłac do użytkowników
Liczba maili na godzinę 100
Liczba maili na dobę 1.000

Użytkowników mam około 2000.
Może ktoś mi podpowie jak to ugryść.

Zmiana parametrów w config.inc.php coś pomoże ?
/ When sending, txtList will pause every pauseinterval'th email, for pausetime seconds.
$cfg['pauseinterval'] = 100;

// Number of seconds to pause at each pauseinterval.
$cfg['pausetime'] = 3;

Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.06.2025 - 19:27