每半小时如何做一份工作

时间:2016-05-31 07:55:12

标签: python flask scheduled-tasks

我想每半个小时做一份工作。我的应用程序基于Flask,并在Windows上运行。

现在,我使用Windows调度程序服务为作业创建任务。

我想知道是否还有其他方法可以使用Flask的内置函数执行循环任务......

抱歉我的英语不好。

2 个答案:

答案 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

这是来自official documentation

的示例
import schedule
import time

def job():
    print("I'm working...")

schedule.every(30).minutes.do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

希望这个帮助=)