【发布时间】:2016-12-30 04:04:30
【问题描述】:
我正在创建一个应用程序,该应用程序将创建要执行的任务链,但该链将根据用户对添加该部分的需求执行任务。
例如,如果用户想要start_boo,则链可能是:
def start_boo():
chain = start_foo.s() | start_bar.s() | start_baz.s()
chain()
但是,如果foo 和baz 已经启动,我们不想这样做;而是更喜欢类似的东西:
def start_boo(foo=True, bar=True, baz=True):
if not (foo or bar or baz):
raise Exception("At least one should be true...")
chain = None
if foo:
chain |= start_foo.s()
if bar:
chain |= start_bar.s()
if baz:
chain |= start_baz.s()
chain()
start_boo(foo=False, baz=False)
但是,由于各种原因,这不起作用。
有这样的成语吗?
【问题讨论】:
-
对于我的目标、理解和尝试来说,这似乎是一个非常有效的问题。请解释反对意见,以便我可以更好地提出问题。
标签: python-3.x celery celery-task