Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wysyłanie mail zawiesza cały serwer
Forum PHP.pl > Forum > Przedszkole
-Mercel-
Witam
Mam taki problem, do wysyłania maili używam biblioteki PHPMailer, zgodnie z ich tutorialem robię pętle while po adresach odbiorców, a w niej wysyłanie maili i funkcja sleep().
Problem polega na tym, że cały serwer się zawiesza dopóki wszystkie maile się nie wykonają, przez co klienci nie mogą wejść na stronę. Czy można nadać temu skryptowi jakiś niższy priorytet, zrównoleglić te procesy, tak aby kleinci mogli odwiedzać stronę podczas wysyłania maili.
CuteOne
Najprostszy sposób to CRON, jezeli to nie pomoże to możliwe, że potrzebna będzie optymalizacja kodu (sam mailer to wielka kobyła)
-Mercel-
Cytat(CuteOne @ 14.02.2013, 00:29:52 ) *
Najprostszy sposób to CRON, jezeli to nie pomoże to możliwe, że potrzebna będzie optymalizacja kodu (sam mailer to wielka kobyła)


Dzięki za szybką odpowiedź.
Czyli mówisz, że gdybym ustawił CRON'a, ktróy wysyłałby maile codziennie np. o godzinie 10.00 przez 15 minut, to wówczas strona będzie działała? CRON działa równolegle? Myślałem, że CRON jest tak samo kolejkowany na serwerze i będzie on zawieszał całą stronę na te 15 minut.
mstraczkowski
To bardzo nie dobrze, że taka sytuacja ma miejsce. Nigdy nie powinno się tak dziać.
Wiadomo że serwer może trochę zwolnić w wyniku wysyłki newslettera, ale nie aż do takiego stopnia jak opisujesz.

Śmierdzi mi to albo słabym hostingiem, albo lokowaniem tabel w bazie danych albo błędną konfiguracją serwera.

Albo też bardzo nieoptymalny kod, który przykładowo zjada pamięć.

Daj znać jak z tym cronem, jestem ciekawy, ale wydaje mi się że nie będzie różnicy. Chyba że twój serwer wspiera wielowątkowość wtedy można z tym coś kombinować, ale tak jak mówiłem taka sytuacja w ogóle nie powinna mieć miejsca
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.