【问题标题】:Using Celery when each function is dependent of each others List output当每个函数相互依赖时使用 Celery 列表输出
【发布时间】:2021-03-23 20:32:19
【问题描述】:

我这里有三个函数返回列表,这也使得它们相互依赖。

keyword_list = search_keyword.delay()

images_list = collect_images.delay(keyword_list.get())

if images_list.successful():
   save_images.delay(images_list .get())

我认为在这种情况下我使用 Celery 的效率很低。因为它只是按顺序运行。我读过有关链的信息,但我认为它不适用于这种情况。或者它可以应用于它吗?我已经搜索过相同的场景,但我不能。

我获得这些功能列表的原因是因为它们使用第三方集成/服务

【问题讨论】:

    标签: python-3.x list celery django-celery celery-task


    【解决方案1】:

    是的,Chain 似乎适合这个用例。在链中,链中前一个任务的输出被输入到链中的下一个任务。但是,您可能需要重构 save_images,因为那里不能有那个“if”语句。最简单的是 collect_images() 返回一个空列表或 None,如果 save_images() 得到一个空列表或 None,则什么也不做。

    【讨论】:

      猜你喜欢
      • 2019-11-29
      • 1970-01-01
      • 2023-01-03
      • 2019-09-03
      • 1970-01-01
      • 2017-06-13
      • 2019-10-05
      • 1970-01-01
      • 2011-04-09
      相关资源
      最近更新 更多