Ciao a tutti,ecco ultime news
Ho finito di sistemare il codice e il file confOra mi succede un paio di cose,
che non riesco a spiegare.Questo è il file conf sotto /etc/init
myservice.conf
description My Serviceauthor Dario Concilio d...@indhisys.it
start on startupstart on runlevel [234]stop on runlevel [0156]
chdir /var/www/folder_serviceexec python
/var/www/folder_service/MyService.pyrespawn
Nota: la mia cartella del codice python si trova in /var/www/ perché uso la www
come share.oltre a questo servizio ho un'interfaccia di configurazione dei
setup del database postgresql fatta in PHP, quindi per comodità ho messo le 2
cartelle: servizio in python e sito PHP nella stessa share.
Non sono abbastanza ferrato per capire se questa scelta mi compromette
qualcosa, magari se potete darmi qualche dritta
Ora nel mio codice python
MyService.py
import Services.TCPCollectorServiceimport loggingimport ConfigParserimport
multiprocessingimport signalimport time
event = multiprocessing.Event()
def errorOccurred(self, errorMessage):logging.error(ex)event.set()
def stopHandler(signum, frame):logging.info(Chiusura del servizio)
event.set()
signal.signal(signal.SIGTERM, stopHandler)
if __name__ == '__main__':
logging.basicConfig(filename='myservice.log',level=logging.INFO)
logging.info(Lettura ini)#Caricamento dei file INI e setting delle
variabili che servono a inizializzare il primo thread[...]
tcpCollector = Services.TCPCollectorService.TcpCollectorService(addressForWeb,
indhiVersion, debug, inoutPort, outMacroPort, bitrate)
tcpCollector.errorOccurred += errorOccurred#Avvio del thread
principale, lui avvierà 3 sotto-thread ulterioritry:#Avvio thread
TCP CollectortcpCollector.start()logging.info(TCP Collector
avviato)while not event.is_set():time.sleep(3)
except Exception as ex:logging.error(ex)event.set()
L'effetto è che provando a riavviare il server, il python parte, lo vedo perché
compare il file di log.la cosa strana è che nel log trovo per 11 volte il
messaggio Lettura ini, mi aspettavo ovviamente una volta sola e i successivi
log info inseriti nel codice
INFO:root:Lettura iniINFO:root:Lettura iniINFO:root:Lettura
iniINFO:root:Lettura iniINFO:root:Lettura iniINFO:root:Lettura
iniINFO:root:Lettura iniINFO:root:Lettura iniINFO:root:Lettura
iniINFO:root:Lettura iniINFO:root:Lettura ini
Inoltre quando provo da terminal (root) faccio stop myservice, mi dice
stop: Unknown instance:
Se provo ad avviare manualmente mi da questo, quindi tutto ok in avvio.
myservice start/running, process 1337
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python