jjzjj

ruby-on-rails-3 - Resque 来自其他主机的 Worker 在我的系统上注册并处于事件状态

我目前正在处理的Rails应用程序托管在AmazonEC2服务器上。它使用Resque来运行后台作业,并且有2个这样的实例(可能是生产和一个阶段)。此外,我已将Resque监控网络应用程序安装到/resque路由(仅在舞台上)。这是我的问题:为什么在我的阶段系统中注册了来自多个主机的工作人员,我该如何避免这种情况?一些额外的细节:我看到worker显然来自3台不同的机器,但我只设法识别了其中的2台——舞台(显然)和生产。第三个有另一种地址格式(以domU开头)并且不知道它可能是什么。 最佳答案 看起来您正在跨多个resque服务器环

ruby - Redis 不会使用 Resque Task 安装

我正在尝试使用Redis设置Resque并遵循文档:https://github.com/defunkt/resque#section_Installing_Redis但是当我执行“rakeredis:installdtach:install”时,我得到:rakeaborted!Don'tknowhowtobuildtask'redis:install'/home/max/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in`eval'/home/max/.rvm/gems/ruby-1.9.3-p194/bin/ruby_no

Ruby:Resque 立即排队

我有以下代码。它的工作是根据通过浏览器(使用Sinatra)提供的数据发送电子邮件。它会在20秒后向给定的地址发送一封电子邮件。当我运行该程序时,它会立即发送电子邮件,而无需等待时间。谁能帮我解决这个问题。require'rubygems'require'sinatra'require'pony'require'resque'require'resque_scheduler'require'active_support/time'Resque.redis='localhost:6379'Resque::Scheduler.dynamic=truedefsendMailPony.mail

ruby-on-rails - resque-pool 默认为测试环境

我今天在本地设置了resque-pool,我注意到了一些奇怪的行为。我之前已经启动并运行了普通的旧resque没问题。我的工作失败了,因为找不到记录。当我深入研究时,我发现这是因为工作人员正在使用测试配置进行设置。我在本地使用foreman/heroku,我的.env文件设置了环境RACK_ENV=development,我还尝试添加了一个RACK_ENV=development示例设置输出[OKAY]LoadedENV.envFileasKEY=VALUEFormat5:01:34PMweb.1|Pumastartinginsinglemode...5:01:34PMweb.1|*V

mysql - Resque Mysql2::Error: 用户已超出 'max_user_connections' 资源(当前值:10)

我在Heroku上运行Resque,我的数据库是ClearDB。我收到此错误:“Mysql2::错误:用户‘bdb2aedbee2c38’已超出‘max_user_connections’资源(当前值:10):显示项目的完整字段”该错误来self的Heroku应用程序的Resque管理员。我如何计算出Resque与ClearDB建立了多少个连接?我如何告诉ClearDB允许更多的连接,或者告诉Resque创建更少的连接?“当前值:10”是指ClearDB允许的连接数,还是Resque尝试建立的当前连接数?谢谢! 最佳答案 您的应用程

mysql - Rails Resque 工作人员因 mysql "Too many connections"而失败

我们最近将我们的(ruby)作业排队系统从DelayedJob切换到了Resque。虽然我们的延迟已经下降,并且我们已经消除了数据库瓶颈,但我们现在看到了一个新问题;我们的一名或多名工作人员似乎在数据库连接退出时保持打开状态。当我们查看进程列表时,有数百个连接处于“sleep”状态。他们最终在90秒后超时。我们一直在节流我们的工作人员以防止客户端连接耗尽,但我们真正需要找到的out是我们的哪个(或多个)作业在使用mysql2ruby​​客户端断开连接时不礼貌。有什么想法可以(1)找到罪魁祸首或(2)检测我们的代码,以便我们可以确保在作业终止之前我们确实断开连接了吗?rails4.0.x

mysql - 在 fork /线程应用程序中运行时,ActiveRecord 无法重新连接?

这里有点开放式问题,所以我先概述一下问题。我们有一个Resque应该从队列中弹出数据同步作业的工作人员,原因有两个,使用Cron(并一遍又一遍地支付Rails环境启动时间)很糟糕,以及替代队列,Github做了一个很好的例子当他们反对他们时announcedResque.此外,Redis时间序列功能已经在我们的基础架构中发挥了重要作用,我们还将TS数据洗牌到RRDTool等...这就是问题所在,作业之间通常间隔三个小时(但工作人员可以随时安排作业……因此需要排队),PostgreSQL服务器消失了。很容易治愈,我希望在相应的环境下设置reconnect:true将确保它按预期工作。我在

mysql - Ruby - 发生异常:[Mysql2::Error] 关闭了 MySQL 连接

我有一个Rails应用程序现在只在内部运行,所以现在访问量不多。并且有两个resqueworker几乎不运行以从web获取数据并插入到mysql数据库中,每次插入后都会休眠10秒。我们在VPS上运行它。大约每5小时后,我就会遇到异常Exceptionoccurred:[Mysql2::Error]closedMySQLconnection"。导致异常的原因可能是什么?现在池大小为5。如果我增加池大小并在我的database.yml中指定reconnect:true会有帮助吗? 最佳答案 这是将mysql2gem版本0.2.11或更低

ios - apn_sender 和 Rails 3

我有一个项目需要从服务器向设备发送通知。我不知道如何以及从哪里开始(首先创建表或其他),因为我是RubyonRails的新手。我已经按照apn_sender教程进行操作,但它不起作用并且总是在开始时出错。是否有为Rails3创建apn_sender的完整教程?谢谢 最佳答案 Rails3和apn_sender我也一直在研究apn_sender问题,因为我喜欢Apple推送通知支持看起来非常强大。但是,该项目已被放弃,现在落后于最新的3系列rails。我已经让系统按如下方式工作。gem文件gem'apn_sender',:requir

ruby-on-rails-3 - 启动由另一个 Rails 服务器处理的 Resque 作业

我有一个带有工作程序(工作程序应用程序)的Rails,我希望另一个Rails应用程序调用它(请求程序应用程序)。一种选择是在请求者应用程序可以发布到的工作应用程序上创建Controller操作。有没有办法直接将作业添加到WorkerApp的Redis服务器上?我知道我可以将值推送到redis服务器,但我不确定它应该采用什么格式,而且我还没有找到它的文档。这有可能吗,还是Resque做了一堆我不知道的事情? 最佳答案 查看Resque代码,您可以通过执行以下操作将作业推送到队列中:Resque.push('my_queue','cla