Puncte:0

Rulează constant script PHP în fundal

drapel gb

Am creat un fișier PHP care conține o buclă infinită care efectuează anumite verificări și acționează dacă variabilele se schimbă (ceea ce este în interiorul scriptului probabil că nu este foarte important pentru întrebarea mea). Vreau ca serviciul să funcționeze mereu, până când îi spun să se oprească. După câteva căutări am decis să folosesc nohup pentru această sarcină. Cu toate acestea, dezavantajul nohup este că nu pot monitoriza cu adevărat dacă serviciul este întrerupt (în afară de rularea manuală ps -aux și căutând procesul).

Am citit și lucruri despre supraveghetor, care suna si destul de bine, dar sunt cam pierdut si nu prea stiu care este cea mai buna solutie. Vreau ca scriptul PHP să pornească automat la reporniri și vreau ca serviciul să verifice dacă scriptul încă rulează, dacă nu, vreau să repornească/alerta pentru a putea verifica ce se întâmplă.

Ar trebui să folosesc oricare nohup sau supraveghetor? Sau recomandați ceva total diferit? Ar fi grozav dacă aș putea rula serviciul într-un container docker unde pot adăuga pur și simplu execuția serviciului în interiorul Dockerfile.

drapel in
Ce este în neregulă cu crearea unei unități systemd?
drapel in
containerul Docker ar face deja ceea ce doriți, ați răspuns la propria întrebare.
Jordy avatar
drapel gb
@GeraldSchneider cum face deja asta un container docker? Un container docker creează un serviciu al comenzii php pe care o execută? Și mă voi uita la systemd, este diferit de supervisord?
Puncte:0
drapel in

Se pare că ar fi mai bine să folosești good'ol CRON.

Puteți configura orice script să ruleze la orice interval, deși nu aș recomanda să îl rulați continuu, poate să rulați la fiecare 5 minute. Deci ceva de genul asta:

*/5 * * * * php /path/to/php/file >/dev/null 2>&1

Deci puteți afla mai multe despre CRON: https://linuxman.co/linux-server/cron-a-nosedive-into-lazy-sysadmin/

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.