Python日程安排在Flask中不起作用

我正在将Schedule导入Flask。我的项目包含WSGI但我对FlaskWSGI之间的关系知之甚少。现在我有三个主要文件: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

回到顶部