做一个等待信号的芹菜任务?

时间:2013-11-19 02:15:14

标签: celery

是否有可能创建等待信号的Celery任务?我有这种情况:

  • Scrapyd in a remote virtualenv on remote machine A
  • Django项目与远程机器A上的另一个virtualenv中的Celery工作节点
  • 与Celery相同的Django项目,但在本地机器B上的另一个virtualenv

我如何使用此设置:

  1. 我会从机器B上的Django发送一个任务链
  2. 让机器A上的工作节点使用任务链。
  3. 在任务链的第一个子任务中,我将使用Scrapyd的JSON over HTTP API计划爬网,并将Celery任务ID作为HTTP请求参数传递给爬网程序。
  4. 然后我想要第一个子任务等待某种信号。
  5. Scrapyd做了它的事并运行蜘蛛。
  6. 一旦蜘蛛完成爬行,我希望它可以通过HTTP或Django管理命令向JSON发送信号,直到等待信号的子任务。
  7. 这可行吗?

    我只需要代码片段来向我展示如何在子任务中等待信号,以及如何从任务ID恢复任务并向其发送信号。

0 个答案:

没有答案