我喜欢将一条链和一个组组合在一个由不可变任务组成的小型工作流程中,并且没有结果后端。
然而,当我尝试这个 Celery 时,它会自动将其转换为和弦,然后抱怨没有结果后端。
有什么方法可以在没有结果后端的情况下让它工作吗?
代码:
@shared_task
def test_canvas():
workflow = chain(group(test_task_a.si(), test_task_b.si()), test_task_c.si())
workflow.delay()
Run Code Online (Sandbox Code Playgroud)
这是我收到的错误消息:
raised unexpected: NotImplementedError('Starting chords requires a result backend to be configured.
Note that a group chained with a task is also upgraded to be a chord, as this pattern requires synchronization.
Result backends that supports chords: Redis, Database, Memcached, and more.',)
Run Code Online (Sandbox Code Playgroud)
有趣的是,单独运行一个链或一个组就可以了。
例子:
workflow = chain(test_task_a.si(), test_task_b.si(), test_task_c.si())
workflow.delay()
Run Code Online (Sandbox Code Playgroud)