stankiewiczpl
8.11.2017, 17:21:53
Cześć.
Szukam jakiegoś rozwiązania na odpalanie zadań zaplanowanych w bazie danych z dokładnością do jednej sekundy a najlepiej jeszcze dokładniej: do 1 milisekundy.
Na razie używam tradycyjnego crona ,ale warunki się zmieniły i potrzebna jest precyzja.
Podpowiedzcie jakąś drogę, bo nie mam pomysłu żadnego.
Tak działa teraz:Cron co minutę odpytuje bazę w poszukiwaniu aktywnych tasków ijak natrafi w danej minucie to odpala.
Engine mam na Laravelu.
W grę wchodzą wszystkie pomysły. Apka stoi na dedyku.
Tomplus
8.11.2017, 19:11:45
Nie wiem czy da się coś takiego uruchomić w PHP, ale gdyby to była aplikacja w pythonie to mogłaby wisieć jako proces na serwerze i wykonywać polecenia które są na bieżąco wskazywane.
Jeśli to coś prostego, to czemu nie C/C++ jako daemon systemowy?
Przykładowo
http://en.cppreference.com/w/cpp/chrono +
http://en.cppreference.com/w/cpp/thread/sleep_for +
http://en.cppreference.com/w/cpp/chrono/durationPobierasz czas aktualny, wyliczasz i podajesz dla sleep_for konkretną ilość milisekund jaką ma czekać, pakujesz do pętli i gotowe. Kwestia daemona (fork) i połączenia do mysqla to kilka minut google.
Pyton_000
8.11.2017, 22:16:43
równie dobrze może być to i python jak i php...
Możesz Autorze powiedzieć co to za operacje że aż tak często muszą być klepane?