【发布时间】:2013-12-15 20:08:29
【问题描述】:
我有一个使用 whenever 和 sidekiq gems 的带有后台作业的 RoR 应用程序。
在开发环境中,当我使用本地 redis 实例(在本地主机上)启动 sidekiq 时,作业会继续执行而没有问题。但是当我切换到远程 redis 实例(Heroku 附加组件)并重新启动 sidekiq 时,它说它开始处理,但没有任何反应,工人也没有做任何工作。
这是我的 config/schedule.rb(用于 whenever gem)
every 2.minutes do
rake "crawler:crawl"
end
这是我的初始化程序/redis.rb:
Sidekiq.configure_server do |config|
config.redis = { :url => 'redis://user:pass@spinyfin.redistogo.com:9098/' }
end
Sidekiq.configure_client do |config|
config.redis = { :url => 'redis://user:pass@spinyfin.redistogo.com:9098/' }
end
如果我注释掉redis.rb中的内容并运行本地redis实例,作业就正常处理了。但是当我使用这个远程 redis 实例时,它会显示出来,然后什么都没有得到处理:
2013-11-29T15:09:26Z 95156 TID-ov6y7e14o INFO: Booting Sidekiq 2.13.0 using redis://redistogo:user@spinyfin.redistogo.com:9098/ with options {}
2013-11-29T15:09:26Z 95156 INFO: Running in ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin11.4.2]
2013-11-29T15:09:26Z 95156 INFO: See LICENSE and the LGPL-3.0 for licensing details.
2013-11-29T15:09:26Z 95156 INFO: Starting processing, hit Ctrl-C to stop
【问题讨论】:
-
您能找到解决方案吗?
-
不。放弃。切换到发条和resque gems。
标签: ruby-on-rails redis sidekiq whenever