[Python] Python come servizio sotto Ubuntu Server

Dario Concilio dario.concilio a hotmail.it
Ven 18 Apr 2014 17:09:15 CEST





> > Aggiungo solo che su Linux non c'è un servizio init standard.
> > Su archlinux usano systemd, che sembra sia la moda del momento.
> > Su Ubuntu usano upstart, ma in futuro passerà a systemd.
> >
> > Quindi ti suggerisco di leggere la documentazione di systemd.
> 
> Sapevo che questo qualcuno l'avrebbe puntualizzato. Cambia poco: il suo 
> programma deve ricevere gli stessi segnali. Sulla versione ubuntu che 
> lui usa c'è ancora upstart: installare systemd da backport è rognoso, 
> quindi non ne vale la pena sbattersi.
ok ragazzi, diciamo che l'ho "imbastito" così:Ha senso? Chiaramente modifico poi il conf file sotto init import signal
import time
import multiprocessing
import logging event = multiprocessing.Event()
log = logging() def stopHandler(signum, frame):
    '''        Chiudo le connessioni con le seriali e websocket    anche se credo di aver capito che dal TERM in poi se ne occupa ubuntu di chiudere tutto    '''
    log.info("Chiusura del servizio")
    event.set()
    
signal.signal(signal.SIGTERM, stopHandler) if __name__ == '__main__':
    log.info("Avvio del servizio")
    while not event.is_set():
        #Eseguo l'init dei miei thread secondari
        log.info("Thread secondari inizializzati")
        
        #Tutta la logica nelle librerie correlate dei threads

        [...]

 		 	   		  
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140418/7779f794/attachment-0001.html>


Maggiori informazioni sulla lista Python