草庐IT

resque-status

全部标签

ruby-on-rails - 使用 Resque 重新排队作业

我对使用Resque将工作分配到许多不同的计算机很感兴趣。不过我有一个担心。如果我需要杀死一名正在工作的worker,我希望能够让它自动重新排队该工作以确保它由另一名worker运行。我曾与DjangoCelery一起工作过,只是执行CTRL+C,这会杀死工作人员并重新排队任务。有没有办法让ResqueinRails发生这种情况?谢谢! 最佳答案 我刚刚弄明白了。我可以捕获信号项(CTRL-C)并强制它重新排队作业或告诉作业失败并让resque-retry稍后重新排队作业。例如:defself.perform(args)trap("

ruby-on-rails - Resque 工作人员不响应信号

我在Rails应用程序中使用Resque1.25.2版。我试图调用实例方法pause_processing及其反面unpause_processing的Resque::Worker我通过Resque.workers获取的所有worker的类(class).然而,工作人员仍然继续处理动态添加到任何队列的新工作。通过instance.paused?检查状态时每个worker都回来了true.不确定我是否真的可以控制在后台运行的工作人员。据我所知pause_processing,unpause_processing和shutdown与发送USR2做同样的事情CONT和KILL向Resque工

ruby-on-rails - Resque 工作人员不响应信号

我在Rails应用程序中使用Resque1.25.2版。我试图调用实例方法pause_processing及其反面unpause_processing的Resque::Worker我通过Resque.workers获取的所有worker的类(class).然而,工作人员仍然继续处理动态添加到任何队列的新工作。通过instance.paused?检查状态时每个worker都回来了true.不确定我是否真的可以控制在后台运行的工作人员。据我所知pause_processing,unpause_processing和shutdown与发送USR2做同样的事情CONT和KILL向Resque工

ruby-on-rails - 查看 resque 作业是否仍在运行,如果卡住则将其杀死

我有一个应用程序使用resque来运行一些长时间运行的作业。有时需要8小时或更长时间才能完成。在作业失败的情况下,有没有办法监控resque本身,看看作业是否在运行?我知道我可以在数据库表(或redis本身)中更新作业的状态,但我想知道作业是否仍在运行,以便在必要时将其终止。我需要做的具体事情是:判断作业是否还在运行判断作业是否停止杀死卡住的作业 最佳答案 请求githubrepository有这个secretgem,god将执行此操作的任务:观察您的任务并杀死陈旧的任务。https://github.com/resque/resq

ruby-on-rails - 查看 resque 作业是否仍在运行,如果卡住则将其杀死

我有一个应用程序使用resque来运行一些长时间运行的作业。有时需要8小时或更长时间才能完成。在作业失败的情况下,有没有办法监控resque本身,看看作业是否在运行?我知道我可以在数据库表(或redis本身)中更新作业的状态,但我想知道作业是否仍在运行,以便在必要时将其终止。我需要做的具体事情是:判断作业是否还在运行判断作业是否停止杀死卡住的作业 最佳答案 请求githubrepository有这个secretgem,god将执行此操作的任务:观察您的任务并杀死陈旧的任务。https://github.com/resque/resq

ruby-on-rails - Resque 工作人员静默失败,没有日志或没有调试信息

我有一段运行某些方法的代码,我已将该方法放入self.perform中,如下所示classStartWorker@queue=:workerdefself.performputs"hello"Parser.find_all_by_class_name("Parser").first.sites.eachdo|s|site=Site.find(s.id)parser=Parser.new(site)parser.runendendend如果我评论defself.perform并结束此文件并运行文件,它会正确显示所需的结果,但是当我尝试通过取消注释将其作为后台任务时,它会在显示的resqu

ruby-on-rails - Resque 工作人员静默失败,没有日志或没有调试信息

我有一段运行某些方法的代码,我已将该方法放入self.perform中,如下所示classStartWorker@queue=:workerdefself.performputs"hello"Parser.find_all_by_class_name("Parser").first.sites.eachdo|s|site=Site.find(s.id)parser=Parser.new(site)parser.runendendend如果我评论defself.perform并结束此文件并运行文件,它会正确显示所需的结果,但是当我尝试通过取消注释将其作为后台任务时,它会在显示的resqu

ruby-on-rails - 如何更改resque的默认休眠时间(5s)?

我正在使用带有resque的Rails。“sleep时间”是工作人员在找不到任何新任务后sleep的秒数。worker是由QUEUE=*rakeenvironmentresque:work创建的,默认值为5s,我不能改成2s。我已经为这个问题搜索了几个小时,有人可以帮助我吗? 最佳答案 答案在INTERVAL环境变量中。INTERVAL=2rakeresque:work或者您想要附加的任何其他参数。 关于ruby-on-rails-如何更改resque的默认休眠时间(5s)?,我们在St

ruby-on-rails - 如何更改resque的默认休眠时间(5s)?

我正在使用带有resque的Rails。“sleep时间”是工作人员在找不到任何新任务后sleep的秒数。worker是由QUEUE=*rakeenvironmentresque:work创建的,默认值为5s,我不能改成2s。我已经为这个问题搜索了几个小时,有人可以帮助我吗? 最佳答案 答案在INTERVAL环境变量中。INTERVAL=2rakeresque:work或者您想要附加的任何其他参数。 关于ruby-on-rails-如何更改resque的默认休眠时间(5s)?,我们在St

ruby-on-rails - 在使用 Resque-scheduler 和 redis 时提到的延迟时间过去后,延迟作业未进入主作业队列

我需要执行一项工作,其中每次创建订单时都会将其分配给供应商,如果供应商不接受订单并在指定时间内更新状态,订单将被自动拒绝并更新状态拒绝。我面临的问题是作业进入延迟队列,如resquewebView所示,但在指定的延迟时间后没有移动到主队列这是我的工作。classAutoRejectionJob在我的分配模型中:classEstamps::Assignment在这里,一旦创建了分配记录,其状态通常在创建时保持为“已分配”。现在从创建之时起,如果用户没有在指定时间内更新状态,则作业必须自动将状态更新为“已拒绝”。我也试过这个方法。defenqueue_check_statusResque.