celery-task-tigger 0.4正式发布。它是基于Celery的一种可自由触发定时调度任务的小插件,通俗地说,如果有一天我们希望自己来去控制何时开始跑定时任务并且何时去停止,比如当点击某个按钮或者被某个动作触发后开始运行定时任务时,那么这个问题就稍微有点复杂......所以在这里celery-task-tigger这个小插件或许能助你一臂之力。 本次更新: 新增一种更灵活的定义任务间隔时间的方式 兼容最新版本celery 4.x 例如,本次版本前,在定义定时任务间隔时间,你只能通过装饰器@tigger_task中定义countdown参数: @app.task(bind=True) @tigger_task(max_times='forever', countdown=3) # each execute in 3 seconds def add(self, x, y): return x + y 升级版本后,你还可以通过以下方式进行定义,这样能更好的让外部接口动态的控制间隔时间: @app.task(bind=True) @tigger_task(max_times='forever') def add(self, x, y, countdown=5): # you also can define formal parameter in task return x + y 你也可以通过celery调用task的时候去定义该参数: # add.apply_async((1,2),{'countdown': 2} countdown=4) ## after 4 seconds, begin start task and interval in 2 seconds 如果有兴趣,详情可以关注该项目的最新GitHub Celery-Task-Tigger v0.4发布, 可控制定时调度任务的小插件下载地址