Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL][CRON] wydajność crona i czas działania
Forum PHP.pl > Forum > Przedszkole
oomaster
Witam,

Wyobraźcie sobie sytuacje: Mam skrypt PHP który odpalany jest co 20minut i ma za zadanie wysłać do 300 adresów mail pobranych z bazy np. jakiś newsletter i tu pojawia się 2 pytania:
1. Czy działanie przy takiej ilości danych i czasu nie zawiesi strony na którym też jest cron ?
2. Czy cron będzie pracował aż wykona całą pętle czyli 300 razy, czy będzie pracował ograniczony czas ?

Jeśli działa ograniczony czas to można jakoś zmodyfikować jego działanie ,żeby "przemielił" te 300 adresów ?

Bardzo proszę o odpowiedź i pomoc na to pytanie.
phpion
Przecież 300 adresów to żadna liczba... ja swego czasu przeprowadzałem testy newslettera na bazie 100 000 adresów. Co do wysypywania się Crona: zależy jak to zorganizujesz tj. czy będziesz wysyłał wszystko za jednym zamachem (wtedy skorzystaj z set_time_limit dla skryptu) czy też w jakiś porcjach (to odpalanie co 20 minut). Moim zdaniem przy takiej liczbie odbiorców możesz spokojnie puścić to w pętlę.
oomaster
OK dzięki za odpowiedź, chwilowo zakręciłem się i nie mogę nic wymyślić aby policzyć średni uptime.
Np strona była dostępna 8 razy na 10testów czyli 8/10=0,8 ale jak co zrobić dalej aby był wynik w procentach np. 99.8%, 98,0% itd. pomnożyć przez 100% czy jak? Bo lekko się zakręciłem a z matmy nie jestem geniuszem mellow.gif

Bardzo proszę o pomoc smile.gif
bim2
razy 100 pomnóż dodaj znaczek % i już smile.gif
oomaster
No właśnie i tak nie wychodzi prawidłowo bo nie możliwe jest aby strona była na 10 testów dostępna 8 i wychodzi wyniki 0,65% ?! ohmy.gif A z pewnością był by to wynik ok. 80% jak to przekształcić to takiego wyniku ? czyli do standardowego wyniku uptime który w tym przypadku by wynosił 80%

EDIT: mam rozwiązanie dla chętnych jak policzyć uptime:

(liczba online x 100)/ liczba wszystkich sprawdzen

czyli w moim przypadku jest to tak: (8x100)/10= 80 +% = 80% tongue.gif
bim2
Przecież mnożenie i dzielenie jest przemienne...
8/10 = 0,8

8/10*100=0,8*100=80
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.