芹菜任务装饰器
celery-decorator-taskcls的Python项目详细描述
芹菜装饰工任务
- 免费软件:麻省理工学院许可证
此包是当前获取app.taskcls
装饰器的临时方法。
这个包的主要目标使您能够使用taskcls decorator
在西芹4.5发布之前,你可以删除这个包导入
,不更改应用程序代码
更多信息:https://github.com/celery/celery/pull/5755
特点
import celery_decorator_taskcls
celery_decorator_taskcls.patch_celery()
from celery import Celery
app = Celery(...)
class BaseTask:
def __init__(self, task, **kwargs):
self.task = task
for key, value in kwargs.items():
setattr(self, key, value)
@classmethod
def task(cls, task, **kwargs):
instance = cls(task, **kwargs)
return instance.main()
@app.taskcls(bind=True)
class SimpleTask(BaseTask):
def main(self):
...
app.taskcls
装饰器行为与app.task
相同。你可以通过的
像bind
,name
或其他的,或者可以不使用kwargs
也可以通过嵌套类MetaTask
传递默认的装饰器选项:
修补选项
默认情况下,patcher searchCelery.taskcls
属性。如果找不到,帕彻
创造它。但是当它存在的时候(我相信你在芹菜4.5中找到了),patcher
检查其可选参数force
,因为它似乎不需要修补。
{cd9>强制执行^
修补芹菜甚至存在{
变更日志
[0.1.4]
- 允许从其他taskcls继承taskcls
- 注释代码块以简化其理解
[0.1.3]
- 修复元任务继承
[0.1.2]
- 更新自述
[0.1.1]
- 添加chandelog
- 将嵌套类
Meta
重命名为MetaTask
[0.1.0]
- 初始提交
- 项目
标签: