Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne][PHP]Zadania cron losowy przedział czasu - random cron jobs
Deltix
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.06.2015

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


Witam,
poszukuję podpowiedzi jak stworzyć zadanie cron które będzie się uruchamiało raz na godzinę w losowym odstępie czasu.

Z góry dziękuje za wszelkie info.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kreatiff
post
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

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


Kolejna propozycja, umieszczamy na początku skryptu, który ma się wykonywać losowo raz na godzinę:
  1. $a = new DateTime();
  2. $a->setTime($a->format("H"), 0, 0); // resetowanie daty do pełnej godziny
  3. $ziarno = $a->getTimestamp(); // zmiana daty na timestamp, by użyć go jako ziarno losowości...
  4.  
  5. mt_srand($ziarno); // ... tutaj
  6. $minuta = mt_rand(0,59); // i teraz losujemy minutę, o której skrypt ma zostać wykonany, dzięki stałemu ziarnu (zmienia się raz na godzinę co pełną godzinę) będzie ona taka sama przez dokładnie 60 minut
  7.  
  8. if ( $minuta != date("i") ) exit;
Crona odpalamy co minutę, ale cały skrypt, który ma zostać wykonany co godzinę, wykona się dopiero wówczas, gdy minuta w aktualnej godzinie pokrywa się z tą w $minuta. W przeciwnym wypadku skrypt zostanie przerwany po sprawdzeniu tego warunku.

Ten post edytował kreatiff 16.06.2015, 10:53:47
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 13:59