Python日程安排在Flask中不起作用
我正在将Schedule导入Flask。我的项目包含WSGI但我对Flask和WSGI之间的关系知之甚少。现在我有三个主要文件:Python日程安排在Flask中不起作用
wsgi.py:自动生成其他工具。app.py:我在这里提出客户请求。用于测试Schedule。
我想在启动服务器时启动一项长期任务。这里是wsgi.py部分:
# -*- coding: utf-8 -*- from threading import Thread
import test
t = Thread(target=test.job)
t.start()
if __name__ == '__main__':
...
正如你看到我启动一个线程,并让it.Here就业工作是我的test.py。
import schedule def job():
schedule.every(1).seconds.do(pr)
def pr():
print("I'm working...")
我的问题是,job永远不会发生。
回答:
我发现我的问题,我从来没有让日程表执行任务。现在wsgi.py看起来像这样。
# -*- coding: utf-8 -*- from threading import Thread
import test
schedule.every(1).seconds.do(test.job)
t = Thread(target=test.run_schedule)
t.start()
if __name__ == '__main__':
...
而且test.py:
import schedule import time
start_time = time.time()
def job():
print("I'm working..." + str(time.time() - start_time))
def run_schedule():
while True:
schedule.run_pending()
time.sleep(1)
为了在单独的线程工作,我创建一个线程,该线程我循环每1ms。在循环中,schedule调用run_pending如果超时(在我的情况下为1秒)调用job。
以上是 Python日程安排在Flask中不起作用 的全部内容, 来源链接: utcz.com/qa/261355.html

