草庐IT

resque-scheduler

全部标签

ruby-on-rails - Resque Web 前端 - 内部服务器错误 - RuntimeError - 不允许进行 ERR 操作

任何猜测为什么我在转到Resque前端时会收到此内部服务器错误?我让它在本地工作,但这发生在我的暂存服务器上:resque.ymlstaging:redis://localhost:6379resque.rbpath=YAML.load_file("#{Rails.root.to_s}/config/yaml/resque.yml")[Rails.env]uri=URI.parse(path)REDIS=Redis.new(:host=>uri.host,:port=>uri.port,:password=>uri.password)Resque.redis=REDIS--Runtim

ruby /Resque/Redis : How to set up workers on different machines?

我一直在研究分布式后台作业的resque。通过演示应用程序,我设法让所有东西都在一台机器上运行。但我不知道如何设置一切,以便worker们在不同的机器上运行。我读到worker必须连接到redis服务器。但我仍然不知道从哪里开始。某处有分步说明吗?我没有找到任何关于此的文档。或者谁能给我解释一下?顺便说一句,我不使用Rails,我使用的是Sinatra。谢谢 最佳答案 是的,你是对的,如果你所有的工作人员都可以访问redis,你可以将它们连接起来,将它们分发到不同的机器上为此,您需要将worker连接到redis(我假设所有work

ruby - Heroku 上的 Resque Scheduler ......远程执行?

我正在添加Resque-Scheduler在我的Heroku应用中所以...我需要一个单独且不同的工作人员充当调度程序和许多人在做这份工作。我是这样做的:我有一个独特的Heroku应用程序,它除了有1个resque-schedulerworker,全天候运行,将Resque任务添加到“远程”ma​​in的Redis数据库中应用。(我将jobs:work任务映射到resque:scheduler或resque:work)这是在Heroku平台上最好的方式吗?还是我做的完全错了?谢谢!编辑:在Heroku上进行调度的最小应用程序:http://github.com/clmntlxndr/h

ruby - 如何在启动时自动创建一个 resque worker?

好的,我正在制作我的第一个ruby​​应用程序。谁知道将所有内容都转移到“生产”中是如此复杂。到目前为止,我一直在努力配置passenger,让它在启动时运行,然后让redis在启动时运行。我的最后一个任务是在启动时添加1个worker。现在,我必须通过ssh登录并运行我的rake命令rakeworkers:start。显然,当我想关闭ssh时,这并不好。所以我真的不知道下一步该怎么做或做什么。我尝试将resque默认配置复制到config.ru,但它只会让Passenger出错。我还研究了一些人提到的resque-pool,但这超出了我的理解范围。我所要做的就是在启动时添加1个wor

ruby-on-rails - Resque,Resque 服务器,在 RedisToGo 上与 Heroku

我一直试图让Resque(使用Resque服务器)和RedisToGo在heroku(cedar)上工作一段时间,但我一直遇到这个错误:Redis::CannotConnectError(ErrorconnectingtoRedison127.0.0.1:6379(ECONNREFUSED)):它在本地工作,我可以在Heroku的控制台中为我的应用正常访问redis。我的Procfile有:web:bundleexecthinstart-p$PORT-e$RACK_ENVweb:bundleexecunicorn-p$PORT-c./config/unicorn.rbresque:en

ruby-on-rails - 在 RSpec 中编写与 Resque 相关的规范的最佳方式是什么?

在RSpec中编写与Resque相关的规范的最佳方式是什么withoutstubbingtheformer?我们目前使用以下助手:@dir=File.dirname(File.expand_path(__FILE__))defstart_redis`redis-server#{@dir}/redis-test.conf`Resque.redis="localhost:9736"enddefstop_redis`rm-f#{@dir}/dump.rdb`pid=`ps-A-opid,command|grep[r]edis-test`.split("")[0]Process.kill("K

ruby-on-rails - 在resque队列中查找特定作业

在我的应用程序中,我使用Resque来调整图像大小。如果图像在调整大小队列中,我想显示一个“调整图像大小”图标。这意味着我需要能够在队列中找到与特定模型ID相关的所有当前作业。现在我这样做:Resque.peek(:resize,0,100).find_all{|job|/#{model.id}/.match(job["args"][0])}这是愚蠢的。但是有什么方法可以查询Resque队列以找到所有firstargument等于[id]的作业?提前致谢。 最佳答案 给resque-status一试。它是Resque的扩展,添加了作

ruby-on-rails - Resque 或 Gearman - 为后台作业选择合适的工具

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我们正在开发一个Web应用程序,其中大约50%的写入请求,我们最终将数据推送到多个数据存储,并在这些数据存储中插入和更新大量记录。为了缩短响应时间,我们希望在后台异步处理此类请求。我们的网络应用程序是用RubyonRails编写的。我倾向于的两个解决方案是Resque和Gearman。请求:更多信息在这里:http://github.com/blog/5

ruby-on-rails - Resque.enqueue 第二次运行失败

我正在尝试将一个应用程序从Rails3.0.3移植到Rails3.1rc...我认为我没有遗漏任何配置方面的内容。该过程在Rails3.0.X中完美运行,而不是在3.1rc中。在控制台中,我这样做:Resque.enqueue(EncodeSong,Song.find(20).id,Song.find(20).unencoded_url)到目前为止一切正常。Resque-web报告没有失败的作业。而且,我从模块EncodeSong获得了两个“puts”。但是,第二次运行Resque.enqueue(EncodeSong,Song.find(20).id,Song.find(20).un

ruby-on-rails - 如何检查 Resque worker 状态以确定它是死的还是陈旧的

默认的resque网络界面显示我有7个工作人员中的5个在工作。我不明白这怎么会发生。我在heroku上,所以当我的dyno重新启动时,它应该停止现有的dynos和worker,然后启动新的。所以,我假设其中一些worker已经过时了,但resque认为工作的worker比应该有的要多得多......(应该只有1个)我如何检查其中的任何一个是陈旧的还是死的?我预计只有1名worker在工作。最终,我希望我会按照这篇SO帖子所说的去做:HowdoIclearstuck/staleResqueworkers?,但首先我想知道如何确定是否应删除worker...我不想盲目地注销worker..