我已经绘制了一个我想要遵循的流程的流程图,但无法弄清楚如何实现这一目标。目前我有以下内容。
t1是一个数据库插入脚本,并不是一个很好的。
def main():
thread = ThreadUrl(queue)
thread = thread()
thread.start()
cherrypy.config.update({'server.socket_host': '0.0.0.0',
'server.socket_port': 2970})
#'server.thread_pool': 100})
queue.join()
cherrypy.engine.start()
while True:
if thread.isAlive():
try:
cherrypy.engine.start()
except Exception:
print ('Started cherrypy already.')
print ('I am alive.')
else:
try:
thread.exit()
except Exception:
print ('Already killed this thread.')
print ('I am dead.')
try:
cherrypy.engine.stop()
except Exception:
print ('Already stopped cherrypy.')
try:
thread.start()
except Exception:
print (sys.exc_info()[1])
if __name__ == '__main__':
main()
答案 0 :(得分:0)
您可以在dict中创建状态表。每个节点都在一个执行其动作的函数中,然后返回下一个状态,如下所示:
def start_t1():
# Start t1.
return "start cherrypy"
def start_cherrypy():
# Start Cherrypy.
return "is t1 alive?"
def is_cherrypy_alive():
# Check whether Cherrypy is alive.
if alive:
return "stop cherrypy"
return "start t1"
actions = {
"start t1": start_t1,
"start cherrypy": start_cherrypy,
"is t1 alive?": is_t1_alive,
"is cherry pie alive?": is_cherrypy_alive,
...
}
state = "start t1"
while True:
state = actions[state]()