【发布时间】:2020-06-07 19:22:37
【问题描述】:
我有一个芹菜任务:
@task
def foo():
part1()
part2()
part3()
...我正在分解成一系列子任务
@task
def foo():
@task
def part1():
...
@task
def part2():
...
@task
def part3():
...
chain(part1.s(), part2.s(), part3.s()).delay()
子任务是内部函数,因为我不希望它们在父任务的上下文之外执行。问题是我的工作人员没有检测和/或注册内部任务(我使用autoregister 来发现应用程序和任务模块)。如果我将它们移到模块中与父任务foo 相同的级别,则可以正常工作。
celery 支持内部函数作为任务吗?如果是这样,我如何让工人注册?
【问题讨论】:
标签: python celery celery-task