取消Python RQ中已执行的任务?

取消Python RQ中已执行的任务?,第1张

概述我正在使用 http://python-rq.org/在Heroku worker dynos上排队并执行任务.这些是长时间运行的任务,偶尔我需要在执行中期取消它们.我怎么用Python做到这一点? from redis import Redisfrom rq import Queuefrom my_module import count_words_at_urlq = Queue(con 我正在使用 http://python-rq.org/在Heroku worker dynos上排队并执行任务.这些是长时间运行的任务,偶尔我需要在执行中期取消它们.我怎么用Python做到这一点?
from redis import Redisfrom rq import Queuefrom my_module import count_words_at_urlq = Queue(connection=Redis())result = q.enqueue(             count_words_at_url,'http://nvIE.com')

后来我想做一个单独的过程:

from redis import Redisfrom rq import Queuefrom my_module import count_words_at_urlq = Queue(connection=Redis())result = q.revoke_all() # or something

谢谢!

解决方法 如果你手头有工作实例
job.cancel()

或者,如果您可以确定哈希:

from rq import cancel_jobcancel_job('2eafc1e6-48c2-464b-a0ff-88fd199d039c')

http://python-rq.org/contrib/

但这只是将它从队列中删除;我不知道如果已经执行它会杀死它.

您可以让它记录墙壁时间,然后定期检查自己并在一段时间后引发异常/自毁.

对于手动,临时风格,死亡:如果你安装了redis-cli,你可以做一些像flushall队列和工作那样激烈的事情:

$redis-cli127.0.0.1:6379> flushallOK127.0.0.1:6379> exit

I’m still digging around the documentation尝试找到如何进行精确杀戮.

不确定这是否对任何人都有帮助,因为问题已经是18个月了.

总结

以上是内存溢出为你收集整理的取消Python RQ中已执行的任务?全部内容,希望文章能够帮你解决取消Python RQ中已执行的任务?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1205172.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存