Nette + PHP built-in Worker

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
theacastus
Člen | 81
+
0
-

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)