【问题标题】:Django Schedule and queue Non periodic TasksDjango计划和排队非周期性任务
【发布时间】:2015-02-19 09:57:55
【问题描述】:
我在 Django 中寻找 Job Task Scheduler。我研究了 django-celery,但所有文档显示的是任务的定期调度。但我正在寻找的是添加一个任务到队列并在特定时间安排它,直到那个时候任务可以进入睡眠状态。此外,它只能执行一次。我关于 django-celery 的结论是否正确?有没有更好的方法或任何其他方式来安排非周期性任务。
【问题讨论】:
标签:
python
django
python-2.7
celery
django-celery
【解决方案1】:
是的,celery 是一个很好的任务工具,documentation 准确地说明了你需要什么,特别是在 apply_async 任务时指定一个 eta:
from celery import task
from datetime import datetime, timedelta
@task()
def add(x, y):
return x + y
tomorrow = datetime.now() + timedelta(days=1)
add.apply_async(args=[10, 10], eta=tomorrow)