我想每半个小时做一份工作。我的应用程序基于Flask,并在Windows上运行。
现在,我使用Windows调度程序服务为作业创建任务。
我想知道是否还有其他方法可以使用Flask的内置函数执行循环任务......
抱歉我的英语不好。
答案 0 :(得分:1)
我想知道是否还有其他方法可以使用Flask的内置函数执行[定期]任务。
作为一种极简主义的微框架,我不认为Flask有或将 内置功能来安排定期任务。
习惯方式是你已经完成的,你编写了一些可以作为HTTP端点或https://www.nuget.org/packages/Microsoft.Azure.Management.Compute/13.0.1-prerelease调用的Flask代码,然后使用OS调度工具来执行它(例如script或UNIX / Linux上的Windows Task Scheduler
否则,Flask可以与处理此问题的其他专业库很好地协作,例如负责处理这些细节的cron
并添加一些可能无法使用的功能。
from datetime import timedelta
CELERYBEAT_SCHEDULE = {
'every-half-hour': {
'task': 'tasks.your_task',
'schedule': timedelta(minutes=30),
'args': ('task_arg1', 'task_arg2')
},
}
CELERY_TIMEZONE = 'UTC'
答案 1 :(得分:0)
我不确定这是否有帮助,但我一直在测试计划模块,它易于使用且效果很好:
$pip install schedule
的示例
import schedule
import time
def job():
print("I'm working...")
schedule.every(30).minutes.do(job)
while True:
schedule.run_pending()
time.sleep(1)
希望这个帮助=)