手動トランザクション管理でDjango - Celeryタスクを実行したいのですが、注釈がスタックしないようです。Django - Celery:@transactionと@taskはスタックしません
TypeError: pong() got an unexpected keyword argument 'task_name'
で
def ping():
print 'ping'
pong.delay('arg')
@task(ignore_result=True)
@transaction.commit_manually()
def pong(arg):
print 'pong: %s' % arg
transaction.rollback()
結果
---> 22 pong.delay('arg')
AttributeError: 'function' object has no attribute 'delay'
で逆の注釈順序結果ながら、それは理にかなって、私はトラブル素敵な回避策を見つけることを抱えています。 Djangoのドキュメントにはアノテーションの代替案は記載されておらず、セロリのタスクごとにクラスを作成する必要はありません。
アイデア?
これはまさに私が望んでいたものです!ありがとう! – Rob