我想用芹菜做这样的事情:1.我发送消息启动任务,任务正在启动2.如果在任务中某个条件为真,则任务应该终止(取消)并"返回"到消息队列,其他工作人员可以接受并执行。
现在我不知道如何从worker函数终止任务。我试图在这个叫做的函数中做一些类似的事情
if condition == true:
revoke(current_task.request.id, terminate=True)
在应用程序中,当消息被发送时,我试图以这种方式连接信号"task_revoke":
@task_revoked.connect
def do_something_when_revoke(terminated, signum, expired):
do_something_here...
但这对我没有好处。所以,也许你可以帮我,告诉我我做错了什么,或者做这样的事情有什么不同的方式:)提前感谢
实现这一点可能更容易的方法是在任务本身中实现该逻辑:
- 您不必撤销Task,只需不在其中执行任何操作即可
- 您的任务只需向队列提交一个新的、更新的任务