Strumenti Utente

Strumenti Sito


sviluppo:itadaemon

Questa è una vecchia versione del documento!


Daemon

Per fare in modo che la coda giri come servizio, è opportuno scrivere un apposito daemon e registrarlo nel sistema come servizio. Per creare un nuovo daemon, basta semplicemente creare una nuova classe in /daemon/daemons/ con la seguente nomenclatura:

<nome-daemon>Daemon.class.php.

I metodi da implementare sono:

  • executeStart: Metodo che viene invocato ad ogni iterazione.
  • executeStop: Metodo che viene invocato allo stop del servizio.
  • getSleepTime: Restituisce il numero di secondi di inattività tra un'iterazione e l'altra.

Configurazione

Oltre alla creazione del demone sotto forma di classe PHP risulta necessario inserire il demone appena creato nel file di configurazione /daemon/config/autostart.ini Ogni sezione del file di configurazione rappresenta un demone. Per ogni demone sono presenti due chiavi:

  • autostart può essere impostata a true o false e indica se il demone va lanciato automaticamente dallo script /daemon/itaDaemonAutostart.php
  • parameters sono i parametri addizionali da inviare al demone, possono essere definiti più parametri usando il carattere di pipe | come divisore.

Servizio

Centos7: creazione di un nuovo script (/etc/systemd/system/testphp.service):

After=network.target

[Service]
Type=forking
User=root
ExecStart=/bin/bash /vagrant/system/start-daemon.sh par1 par2
ExecStop=/bin/bash /vagrant/system/stop-daemon.sh

[Install]
WantedBy=multi-user.target

start-daemon.sh:

php /vagrant/itaEngine/daemon/itaDaemonExecutor.php dummy start $1 $2 &

stop-daemon.sh:

php /vagrant/itaEngine/daemon/itaDaemonExecutor.php dummy stop
sviluppo/itadaemon.1500996208.txt.gz · Ultima modifica: 2018/03/19 10:45 (modifica esterna)