Wywołanie metody co określony czas po stronie serwera

0

Witajcie kiedyś już pisałem w sprawie tego problemu ale nie mogę sobie z nim poradzić. Czego powinienem użyć do wywoływania określonej funkcji co 10 sekund i by wysyłała zapytanie do bazy danych. Dokładnie ma to być pobieranie danych z innego serwera i zapisywanie ich w mojej bazie danych. Problem jest taki, że nie wiem jak to zrobić by wszystko działało bez odpalania stronki. Dopiero zaczynam z webdevelopem i w niektórych rzeczach się po prostu nie orientuję. Próbowałem setInterval z js jednak w ogóle nie wywołuje funkcji. Możecie coś doradzić w tej sprawie?

0

Myślałeś nad cron?

0

To aż trzeba z takiego demona korzystać, żeby co jakiś czas była wywoływana funkcja na serwerze? :x Wydawało mi się że jednak będzie troszkę łatwiej :x Bo tego pewnie phpem czy javą nie obsłużę

0

Z tego co wyczytałem minimum czasu u Crona to 5 minut więc w niczym mi on nie pomoże gdyż funkcja ma być wywoływana co 10 sekund.

0

Sprawdź man 1 watch.

1

Możesz puścić zapętlony, "wieczny" php. set_time_limit(0), pętla while z Twoim zdaniem i sleep, do tego ignore_user_abort(1), co by skrypt wykonywał się w tle po próbie uruchomienia z przeglądarki i jakieś touch na pliku "statusowym" w pętli, żeby potem porównywać datę modyfikacji pliku - jeżeli przy NOWYM uruchomieniu tego samego skryptu - data na pliku statusowym jest niestarsza jak minutę - to znaczy, że inne wywołanie skryptu już leci w tle, i nowe powinieneś zakończyć bez wchodzenia w pętlę.

Dodatkowo pasuje mieć jak zatrzymać tamtą pętlę - możesz np. sprawdzać istnienie jakiegoś pliku. Jeżeli poprzez ftp (albo inny skrypt php) skasujesz plik testowy - ta Twoja pętla się zakończy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1