1

次のコードを実行しようとしています:

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

しかし、このコードは request_id として None を与えています。サイド セロリ タスク クラスで 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 に答える