Nette + PHP built-in Worker
- theacastus
- Člen | 81
Zdravím,
chtěl bych se zepat zda máte někdo zkušenosti s built-in workerem v PHP a jeho případnou implementací v Nette.
V aplikaci zjišťuji síťovou dostupnost serverů (ping) a zda běží web (curl, čtu status code a follow redirectů -jen http->https) a dostupnost MySQL přes fsockopen – protože k serverům nemám přímí přístup, ale mělo by to stačit účelu. Případně můžu zkoušet SQL zda dojde odpověď, že ?
Můj problém je že v momentě kdy bych to chtěl spouštět jako cronjob (kdyby/console a přes cron spouštět commandy) tak by mohlo docházet k overlapu a to nechci.
Proto jsem se začal hledat cestu přes nějaký worker.
Chtěl bych mít commandy workers:start, stop, restart, status, kill s čím bych si asi vystačil. Jen podle toho co jde v dokumentaci PHP, vypadá to že process běží jako objekt takže stejně tak běží i daný script, ne? A akce typu shutdown, kill se prováděly nad konkrétním objektem (což ten si předám v DI), ale vše bylo v jednom scriptu – ano je to example, ale i tak.
Dokumentce PHP Worker: http://php.net/…s.worker.php
Nebo nebylo by lepší to řešit přes jinou službu, tedy jen cron nebo RabbitMQ.
Projekt je víceméně best-practice pro mě, osahat si další technologie (aplikace ‚můj blog‘ to jaksi nepokrývá :D)
Cron by z logiky věci měl stačit, což tak momentálně mám. Jenže
v momentě kdy dojde k overlapu, bude Monolog míchat logy jeden přes druhý
z různých procesů, ale mít log na každý proces mi přijde jako overkill a
po pár dnech i konec místa na disku…
Ale chtěl bych to mít napsané líp (pokud to jde)