草庐IT

resque-delayed

全部标签

ruby-on-rails - delayed_job -i 通过 cron 脚本通过 ruby​​ 停止之前的进程后将不会启动

所以我遇到了一个奇怪的情况,我有delayed_job2.0.7和守护进程1.0.10以及ruby​​1.87和rails2.3.5在ScientificLinux6.3版(Carbon)上运行。我有一个rake任务,每晚重新启动延迟的作业,然后进行一堆批处理。我以前只是做ruby​​script/delayed_job停止然后开始。我添加了一个命名队列的反向端口,允许我执行命名队列。因此,正因为如此,我想为每种类型的命名队列启动几个进程。为此,我发现最好的方法似乎是使用-i以不同方式命名每个进程,以免它们发生冲突。我编写了一些ruby​​代码来执行此循环,它在开发中运行良好,在命令行

ruby - 了解 delayed_job 状态

我已经使用delayed_job在我的Rails应用程序中实现了长时间运行的任务连同delayed_job_web.我的delayed_job配置指示作业尝试一次,并保留失败:config/initializers/delayed_job.rb:Delayed::Worker.max_attempts=1Delayed::Worker.destroy_failed_jobs=false我尝试了2个自动引发错误的测试作业,以查看失败的行为。我得到的是以下内容:我的预期是失败的作业计数为2,但排队/工作/待处理都为0。我找不到任何关于确定工作是否入队/工作/待定的文件,甚至是工作之间的区别

ruby - 如何在 Resque 中查看已处理的作业?

Resque有一个很棒的网络界面,我们可以在上面看到挂起和失败的作业。但是“已处理的作业”在哪里?我怎么知道我做了什么? 最佳答案 有一个不错的插件叫做resque-status这可能对你有用。 关于ruby-如何在Resque中查看已处理的作业?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7567504/

ruby-on-rails - 在没有 rails 环境的情况下加载 resque worker?

我的resque工作不依赖于Rails中的任何东西,但我很难在没有Rails环境的情况下开始工作。我看过这篇文章,但没有帮助(rubyresquewithoutloadingrailsenvironment)这是我当前的rake文件:require"resque/tasks"task"resque:setup"doroot_path="#{File.dirname(__FILE__)}/../.."require"#{root_path}/app/workers/myworker.rb"end#task"resque:setup"=>:environment评论的任务将加载Rails环

ruby-on-rails - delayed_job 的 exception_notification

delayed_job是否有类似exception_notification的gem?最好与REE-1.8.7和Rails2.3.10一起使用。 最佳答案 我过去曾为延迟的工作佣金任务做过类似的事情:require'action_mailer'classExceptionMailer:environment)doResort.sync_all!result=Delayed::Job.work_offunlessresult[1].zero?ExceptionMailer.deliver_exception_message("[SYN

ruby-on-rails - 如何洗牌 Resque 队列中的作业?

我有一个名为check_integrity的队列,里面有很多作业。当我为它运行一个worker时,它会先执行工作。是否可以洗牌该特定队列中的作业?我需要worker随机接受工作。请帮忙。谢谢。 最佳答案 解决此问题的一种方法是从队列中弹出条目,对它们进行批处理,打乱批处理,然后重新插入它们:key="resque:queue:bulk"total=Redis.current.llen(key)batch_size=5_000#anyvaluethatisgoodenoughforyoubatch=[]total.timesdo|i|

ruby-on-rails - 在我的 Rails 应用程序中嵌入 resque-web 前端

我正在使用resque网络前端来管理我的后台作业。我想知道是否有人知道如何将这个前端嵌入到我的主布局中。我想使用我的应用程序布局并保留我的htmlheader。我实际上将resque挂载为Rails机架。mountResque::Server.new,:at=>"/resque" 最佳答案 在resqueGem中resque/lib/resque/server/有一个View和公共(public)文件夹,您可以直接修改它们,或者这些View文件由在中调用的sinatra应用程序使用resque/lib/resque/server.r

python - delayed_job 就像 python 的队列

我需要一个队列来将数据从ruby​​发送到python该系统是一个具有Ruby前端和Python后端的应用程序,我不想添加另一个复杂的部分。如果只有ruby​​,我会选择delayed_job,但ruby​​->python更难。所以我正在为python寻找一个基于简单数据库的队列(类似于delayed_job),我打算为此破解ruby​​“生产者”部分。或者给我一个我还没有想到的解决方案给我一个惊喜。 最佳答案 也许你可以看看Celery. 关于python-delayed_job就像

ruby-on-rails - 为什么 delayed_job 中的时区关闭?

在我的Rails应用程序中,当我使用delayed_job创建后台作业时gem,我的所有时间都偏移了6小时。我的理解是delayed_jobusesyourtimezone,但好像用错了。与UTC相差-6小时(CST是我的时区),现在是-12小时!这里有一些View代码来说明。注意:Time.now给出2014-03-0423:26:55-0600Time.now.utc给出2014-03-0505:26:55UTC但是delayed_job在几秒钟前的想法是2014-03-0417:26:53-0600我的看法:#delayed_jobs/index.html.erbAllBackg

ruby-on-rails - delayed_job 处理作业后的回调

我需要在delayed_job处理任务后更新模型,例如:foo.delay.somethingsomething完成后,我需要更新foo对象,实现此目的的最佳方法是什么?我正在考虑在Delayed::Backend::ActiveRecord::Job类上编写回调,但应该有一些更清晰、更好的方法来做到这一点。 最佳答案 我会在#foo方法的末尾更新它:deffoo#doworkhereupdate_attribute:processed,trueend 关于ruby-on-rails-d