Tengo un programa web.py simple para cargar datos. En el servidor no quiero instalar Apache ni ningún servidor web.Ejecute web.py como daemon
trato de ponerlo como un servicio de fondo con http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/
Y subclases: (de http://www.jejik.com/files/examples/daemon.py)
class Daemon:
def start(self):
"""
Start the daemon
"""
... PID CHECKS....
# Start the daemon
self.daemonize()
self.run()
#My code
class WebService(Daemon):
def run(self):
app.run()
if __name__ == "__main__":
if DEBUG:
app.run()
else:
service = WebService(os.path.join(DIR_ACTUAL,'ElAdministrador.pid'))
if len(sys.argv) == 2:
if 'start' == sys.argv[1]:
service.start()
elif 'stop' == sys.argv[1]:
service.stop()
elif 'restart' == sys.argv[1]:
service.restart()
else:
print "Unknown command"
sys.exit(2)
sys.exit(0)
else:
print "usage: %s start|stop|restart" % sys.argv[0]
sys.exit(2)
Sin embargo, el software web.py se carga (es decir: el servicio sin escuchar)
Si lo llamo directamente (es decir: No usando el código de daemon) funciona bien.
Actualizo la pregunta para mostrar que cuando la llamada "inicio" se llama el método "ejecutar". – mamcx
Todavía no puedo decir cómo se conecta el servicio (desde WebService) a MyDaemon, a menos que sea implícito. – mcandre
Oh, mi error :(. Me olvido de poner el nombre de clase correcto (kittie malo copiar/pegar!) – mamcx