1

我正在尝试运行以下代码:

class myTask(Task):
    def run():
        print myTask.request.id

但是此代码将 None 作为 request_id。请解释一下为什么我无法在侧芹菜任务类中读取 id

4

1 回答 1

1

您正在尝试访问类而不是对象实例上的请求对象。尝试这个:

class myTask(Task):
    def run(self, *args, **kwargs):
        print self.request.id

您还可以使用@task装饰器:

app = Celery('tasks', broker='amqp://guest@localhost//')

@app.task(bind=True)
def myTask(self):
    print self.request.id
于 2014-04-22T20:16:47.937 回答