撤销功能是否需要额外的 api 调用来停止队列中的任务执行?
我有一个并发设置为 1 的工作线程和一个进入无限循环的任务[用于测试]。我提交了一个任务 T1,工作人员收到它并开始工作。我提交另一个任务,它得到了它,并且由于 T1 仍然忙,T2 进入队列 [rabbitMQ]。
我尝试过 T2.revoke() 和 revoke(t2.task_id)
并通过检查检查以查看撤销状态。每件事看起来都很好。但是当我重新启动worker时,它仍然执行T2。
是否需要采取任何措施来抑制 T2 的执行?
I have a worker with concurrency set to 1 and a task that goes into infinite loop [for testing]. I submit a task T1 and the worker gets it and goes to work. I submit another task, it gets it and since its busy with T1 still, T2 goes into Queue [rabbitMQ].
I tried T2.revoke()
and revoke(t2.task_id)
And checked with the inspect to see the revoked status. Every thing looks good. But when i restart the worker, it still executes T2.
Is there any thing that needs to be done to suppress the T2 from execution ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能需要使用持久撤销,请参阅此处。
You probably need to use persistent revokes, see here.