Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]CRON a wiele katalogów
Forum PHP.pl > Forum > Przedszkole
krzesik
Witam,
mam taką sytuację, chciałbym aby dodać jedno polecenie CRON odwołujące się do np skryptu send.php, ale w tym skrypcie chciałbym wywołać kilka akcji np.

https://www.domena.pl/katalog1/scrypt.php
https://www.domena.pl/katalog2/scrypt.php
https://www.domena.pl/katalog3/scrypt.php
https://www.domena.pl/katalog4/scrypt.php

w taki sposób, aby poszczególne linki wywoływały się z opóźnieniem 5s.
Czy jest to możliwe do zrealizowania?

Dziękuję za wskazówki i podpowiedzi.
kreatiff
Tak na chama: w send.php zrób include/require tych plików przedzielone czekaniem:
  1. sleep(5);
Ale jeśli masz tego dużo, to może się zdarzyć, że minie limit czasu na wykonanie skryptu i ten się wywoła wszystkich „podskryptów”. Wówczas potrzebne będzie jakieś inne rozwiązanie.
uziom
Aby wywołać poszczególne linki z opóźnieniem 5s, można użyć funkcji "sleep" w skrypcie send.php. Poniżej przedstawiony jest przykładowy kod PHP, który umożliwia wywołanie poszczególnych linków z opóźnieniem 5s:
  1. <?php
  2. $urls = array(
  3. 'https://www.domena.pl/katalog1/scrypt.php',
  4. 'https://www.domena.pl/katalog2/scrypt.php',
  5. 'https://www.domena.pl/katalog3/scrypt.php',
  6. 'https://www.domena.pl/katalog4/scrypt.php'
  7. );
  8.  
  9. foreach ($urls as $url) {
  10. // wywołanie linku
  11.  
  12. // opóźnienie o 5s
  13. sleep(5);
  14. }
  15. ?>


Aby dodać to polecenie do CRON, należy edytować plik crontab za pomocą komendy "crontab -e" i dodać następującą linijkę

  1. * * * * * /usr/bin/php /ścieżka/do/skryptu/send.php


Ta linijka polecenia uruchomi skrypt send.php co minutę (każdą minutę o każdej godzinie). Można dostosować czas wywołania skryptu, zmieniając wartości w polach minut, godzin, dni, miesięcy i tygodni. Na przykład, jeśli chcesz uruchomić skrypt o godzinie 3:00 rano każdego dnia, wpisz:

  1. 0 3 * * * /usr/bin/php /ścieżka/do/skryptu/send.php

Upewnij się, że podałeś właściwą ścieżkę do pliku send.php i właściwą lokalizację dla polecenia PHP.
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.