问题描述
我正在努力给班级的 celery 装饰者打电话。我的问题是我的装饰者将“自我”视为一个论点。有什么办法可以在我的班级中调用这个装饰器吗? 我将不胜感激,谢谢!
import numpy as np
from celery import Celery
app = Celery('tasks',broker="amqp://xx@localhost")
class arithmaticFnc():
def __init__(self):
self.seed = 8
@app.task
def add_num(self,x,y):
return x + y
-----------------
A = arithmaticFnc()
result = A.add_num.delay(2,1)
result.get()
解决方法
像这样使用基于类的任务:
import numpy as np
from celery import Celery
app = Celery('tasks',broker="amqp://xx@localhost")
class ArithmeticTask(app.Task):
def __init__(self):
self.seed = 8
def run(self,x,y,*args,**kwargs):
return x + y
app.register_task(ArithmeticTask())
-----------------
a = ArithmeticTask()
result = a.delay(2,1)
result.get()