首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何销毁重新排队的作业?

如何销毁重新排队的作业?
EN

Stack Overflow用户
提问于 2011-05-04 16:57:33
回答 7查看 32.9K关注 0票数 42

我正在使用rails-3项目上的Resque来处理计划每5分钟运行一次的作业。我最近做了一些事情,滚雪球般创造了这些工作岗位,堆栈已经达到了1000多个工作岗位。我修复了导致许多作业排队的问题,现在我遇到的问题是由错误创建的作业仍然存在,因此很难测试某些东西,因为作业被添加到具有1000+作业的队列中。我似乎不能停止这些工作。我尝试使用flushall命令从redis-cli中删除队列,但不起作用。我是不是遗漏了什么?因为我似乎找不到摆脱这些工作的方法。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-05-04 21:35:12

如果打开rails控制台,则可以运行以下代码来清空队列:

代码语言:javascript
复制
queue_name = "my_queue"
Resque.redis.del "queue:#{queue_name}"
票数 51
EN

Stack Overflow用户

发布于 2013-01-10 00:44:13

根据以上答案,如果您需要清除所有队列,您可以使用以下方法:

代码语言:javascript
复制
Resque.queues.each{|q| Resque.redis.del "queue:#{q}" }
票数 67
EN

Stack Overflow用户

发布于 2013-04-22 08:36:54

Resque已经有一种方法可以做到这一点--试试Resque.remove_queue(queue_name) (参见文档here)。它在内部执行Resque.redis.del(),但也执行其他清理,并且通过使用api方法(而不是假设resque是如何工作的),您将更加面向未来。

票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5880962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档