• 可控制调度执行的celery小插件 celery-task-tigger

    2016/06/11 BaoEr 1 评论  , 

众所周知,Celery是Python中非常著名的任务队列框架,其中还包含了一个“定时调度任务”的大杀器,其机制大致就是通过Celery内置的celerybeat来开启一个进程,然后把对应worker中的任务定时丢给rabbitmq或者redis来去跑。其实简单的来说,就是当你开启celery的时候,你希望被调度的任务已经开始跑了。

如果有一天我们希望自己来去控制何时开始跑定时任务并且何时去停止,那么这个问题就稍微有点复杂……所以在这里celery-task-tigger这个小插件或许能助你一臂之力。

用起来非常简单,你只需要引入一行代码就能搞定,举个例子:

装饰器@tigger_task 提供了2个参数:max_times和countdown

1. max_times

输入类型为Int, 表示最多可执行几次,其中有一个特殊参数‘forever’表示无限执行

2. countdown

输入类型Int,表示每次执行结束的几秒后进行再次执行,默认为1秒

然后你就可以随心所欲的来控制你自己的task,并且100%兼容celery

1 收藏


直接登录
最新评论