如何在给定的时间执行一次芹菜任务,但只能执行一次?
我阅读了文档,找不到任何示例。
您可以eta
在调用任务时使用参数。例:
from datetime import datetime, timedelta @app.task() def hello(self): return 'hello world' tomorrow = datetime.utcnow() + timedelta(days=1) hello.apply_async(eta=tomorrow)
文档:http : //docs.celeryproject.org/en/latest/userguide/calling.html#eta-and-countdown
另外,如果您想hello
多次调用但确保一次仅执行一次,则可以使用锁定-文档中的更多内容:http : //docs.celeryproject.org/en/latest/tutorials/task-cookbook .html#ensuring-a-task-is-一次执行一次