![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 7.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Przy wykorzystaniu klasy phpmailer probuje wyslac min 100 maili ....
teraz przy wysyłce osobnej do 10 adresatow osiagam czas wykonania skryptu 6-7 sekund... a na serwerze jest limit 30 sekund i po tym czasie wywala error 500 :/ Czy ktos moze podpowiedziec co zrobic by skrypt wykonywal sie szybciej? Z gory dziekuje!
Ten post edytował kr3t 16.12.2009, 10:54:45 -------------------- KR3T
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 3 Dołączył: 9.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
wywa polaczenie z baza jesli go nie uzywasz
wypisanie do przegladarki moze dlugo trwac wiec moze usun blok miedzy linia 1 a 16 wyciagnij z petli ustawianie tych atrybutow ktore sa niezmienne (subject, replayto itd) -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 7.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
zeszlo tylko do 6 sekund.... :/
-------------------- KR3T
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 678 Pomógł: 124 Dołączył: 26.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, że to rozwiązanie to nie rozwiązanie ale może po prostu zwiększ limit i po sprawie.
-------------------- Napisane z palca! <- to tak dla lansu ;)
FancyStudio.pl - Tworzenie Stron WWW w Oparciu o XHTML, CSS, JS, PHP i MySQL. Mój blog :: Portfolio Fotograficzne Igora Biedrawy |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Ja takie rzeczy robię w tle. Mała funkcja:
i wywołanie:
Użytkownik nie czeka na długie zadanie. -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 7.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
to konto www jest na nazwa . pl
i tam jest limit 30 sek na wykonanie skryptu php :/ a w tle.. hmm to nadal skrypt bedzie wykonywany przez dluzej - to wtedy sie omija limity? -------------------- KR3T
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 23 Dołączył: 26.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
możesz też tak:
1) skorzystać z wewnętrznej funkcji php do maili i nie łączyć się z SMTP - nawiązanie połączenia jest czasochłonne 2) kolejnych odbiorców dodawaj w pole BCC zamiast w pole TO - wtedy wyśle do wszystkich za jednym połączeniem z usługą poczty (przydatne i dla php'owego mail i dla połączenia SMTP). -------------------- Pomogłem? Kliknij
![]() Dzięki! :D |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%) ![]() ![]() |
Limit czasu nie obowiązuje w tym przypadku, ponieważ jest to zwykłe polecenie systemu operacyjnego.
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 331 Pomógł: 30 Dołączył: 11.11.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
tylko że nie wszystkie serwery zezwalają na polecenia systemowe ;-)
ja bym to zrobił tak: po wysłaniu każdego mejla sprawdzasz czas. jeśli zbliża się on do 30 s, to przerywasz działanie skryptu i dajesz i powinno być git ;-) -------------------- http://www.piotr94.net21.pl/ - wykonanie stron i serwisów internetowych
Jeśli moje wypowiedzi były dla Ciebie pomocne, kliknij "Pomógł" i odwdzięcz się ;) |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 41 Pomógł: 9 Dołączył: 8.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nigdy nie używałem tej klasy ale temat mnie interesuje także poszukałem i znalazłem
![]() dodaje adres do tablicy. Podczas wysyłania wiadomości wysyła pod wszystkie adresy jednocześnie. Dlatego wystarczy w pętli umieścić:
Ciekawe do ilu czas teraz zejdzie. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 3 Dołączył: 9.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
to nie jest dobre rozwiazanie bo wszyscy dostana maila z adresami innych do ktorych zostal on wyslany
-------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%) ![]() ![]() |
Zostaje jeszcze kolejkowanie.
Tabela w bazie, do której dodajesz rekordy - jeden rekord to jeden adres mail, treść etc. Do crona dodajesz zadanie które co jakiś czas pobiera dane, wysyła maila i zmienia status w kolejce na wysłano. -------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 41 Pomógł: 9 Dołączył: 8.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Znalazłem w klasie phpmailer taką zmienną:
Po zmianie wartości na true wyśle pojedyncze maile do użytkowników. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:48 |