是否有可能创建等待信号的Celery任务?我有这种情况:
- Scrapyd in a remote virtualenv on remote machine A
- Django项目与远程机器A上的另一个virtualenv中的Celery工作节点
- 与Celery相同的Django项目,但在本地机器B上的另一个virtualenv
我如何使用此设置:
- 我会从机器B上的Django发送一个任务链
- 让机器A上的工作节点使用任务链。
- 在任务链的第一个子任务中,我将使用Scrapyd的JSON over HTTP API计划爬网,并将Celery任务ID作为HTTP请求参数传递给爬网程序。
- 然后我想要第一个子任务等待某种信号。
- Scrapyd做了它的事并运行蜘蛛。
- 一旦蜘蛛完成爬行,我希望它可以通过HTTP或Django管理命令向JSON发送信号,直到等待信号的子任务。
醇>
这可行吗?
我只需要代码片段来向我展示如何在子任务中等待信号,以及如何从任务ID恢复任务并向其发送信号。