Django - сельдерей: @transaction и @task не стегают

Я хочу запустить задачу Django - сельдерея с ручным управлением транзакциями, но кажется, что аннотации не стегают.

, например

def ping():
    print 'ping'
    pong.delay('arg')

@task(ignore_result=True)
@transaction.commit_manually()
def pong(arg):
    print 'pong: %s' % arg
    transaction.rollback()

приводит к

TypeError: pong() got an unexpected keyword argument 'task_name'

, в то время как приводит к порядку обратной аннотации в

---> 22     pong.delay('arg')

AttributeError: 'function' object has no attribute 'delay'

, это имеет смысл, но у меня проблемы с поиском хорошего обходного пути. Документы Django не упоминают альтернативы аннотации и Я не хочу делать класс для каждой задачи сельдерей, когда мне не нужен.

Любые идеи?

5
задан Rob 8 September 2011 в 15:03
поделиться