其实我只是回答适度类似于此的想法是运行脚本中运行,并打破它关闭2个线程运行,你打算再只是有一个网页中的脚本一个问题做一个:
import threading, cherrypy
from cherrypy import expose
class thread1(threading.Thread):
def run(self):
#code for script 1 goes here
class thread2(threading.Thread):
def run(self):
#code for script 2 goes here
t1 = thread1()
t2 = thread2()
t1.start()
t2.start()
@expose
def check(self):
if t1.isAlive() and t2.isAlive():
return "1"
return "0"
我会建议你把nginx或apache的infront与他们作为一个反向代理。
现在有两种方法可以告诉你其中一个停止。要么它会告诉你一个,两个都运行良好。如果其中一个或两个都停止,但设法保持脚本的其余部分运行,则为零。或者nginx/apache会给你一个500错误,说后端服务器(即:cherrypy)崩溃,这意味着整个脚本停止工作。
啊,这很聪明。我喜欢这个解决方案,非常优雅,谢谢。还有为什么反向代理?我只是想把它粘在一些晦涩的端口上。 –
那么,如果你没有一个反向代理,那么你将不会收到500错误的请求将超时,虽然这将是另一种方式来检查它是否正在运行......它只是一个建议,如果你要去要做它的生产运行的东西... – gabeio
噢好吧。我可以比较容易地设置反向代理。所以这不应该是一个问题。 –