Ich habe ein einfaches web.py-Programm, um Daten zu laden. Auf dem Server möchte ich keinen Apache oder irgendeinen Webserver installieren.Führen Sie web.py als Daemon
ich versuche, es als Hintergrunddienst zu setzen mit http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/
Und Subklassifizieren: (von 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)
jedoch die web.py Software lädt nicht (dh: Der Dienst nicht hören)
Wenn ich es direkt anrufe (dh: Keine Verwendung des Daemon-Codes), funktioniert es gut.
ich die Frage aktualisieren, um anzuzeigen, dass bei Aufruf „Start“ wird der „run“ -Methode aufgerufen. – mamcx
Ich kann immer noch nicht sagen, wie der Dienst (von WebService) eine Verbindung zu MyDaemon herstellt, es sei denn, er ist implizit. – mcandre
Oh, mein Fehler :(. Ich vergesse, den richtigen Klassennamen (schlechte Kittie kopieren/einfügen!) – mamcx