Tag: redis

使用Heroku在RedisToGo上使用Resque,Resque Server

我一直试图让Resque(使用Resque服务器)和RedisToGo在heroku(雪松)上工作一段时间,但我一直遇到这个错误: Redis::CannotConnectError (Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)): 它在本地工作,我可以在我的应用程序的Heroku控制台中访问redis。 我的Procfile有: web: bundle exec thin start -p $PORT -e $RACK_ENV web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb resque: env TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10 bundle exec rake resque:work 我的Gemfile有: gem ‘redis’ #Background queue gem ‘resque’, ‘~> 1.22.0’, :require => “resque/server” LIB /任务/ resque.rake: require ‘resque/tasks’ task “resque:setup” […]

工头立即终止

我最近在不同的计算机上安装了OSX 和 Ubuntu。 然后我尝试为两个操作系统安装redis和foreman。 这两个错误都没有标记,似乎成功执行。 但是,每当我开始领classforeman start ,我都会在两台计算机上遇到以下问题: 23:48:35 web.1 | started with pid 1316 23:48:35 redis.1 | started with pid 1317 23:48:35 worker.1 | started with pid 1318 23:48:35 redis.1 | [1317] 11 Jun 23:48:35.180 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server […]

使用sidekiq处理两个单独的redis实例?

下午好, 我有两个独立但相关的应用程序。 它们都应该有自己的后台队列(读取:单独的Sidekiq和Redis进程) 。 但是,我偶尔能够从app1将作业推送到app2的队列中。 从简单的队列/推送角度来看,如果app1没有现有的Sidekiq / Redis堆栈,那么很容易做到这一点: # In a process, far far away # Configure client Sidekiq.configure_client do |config| config.redis = { :url => ‘redis://redis.example.com:7372/12’, :namespace => ‘mynamespace’ } end # Push jobs without class definition Sidekiq::Client.push(‘class’ => ‘Example::Workers::Trace’, ‘args’ => [‘hello!’]) # Push jobs overriding default’s Sidekiq::Client.push(‘queue’ => ‘example’, ‘retry’ => 3, […]

如何让Redis从Heroku开始?

我已经在Heroku上添加了Redistogo nano附加组件,并且我已经在控制台中成功测试了它。 但是,当我的应用程序尝试与Redis连接时,我收到以下错误: Heroku日志文件: 2011-10-12T08:19:50+00:00 app[web.1]: Errno::ECONNREFUSED (Connection refused – Unable to connect to Redis on 127.0.0.1:6379): 2011-10-12T08:19:50+00:00 app[web.1]: app/controllers/sessions_controller.rb:14:in `create’ 为什么要尝试在localhost上访问Redis? config / initializers文件夹中的我的Redis.rb有这个,这几乎肯定是问题所在。 #What’s pasted below is pasted ad verbatim. I don’t know what to change the values to. uri = URI.parse(ENV[“REDISTOGO_URL”]) REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)

Redis引发错误:NOAUTH需要身份validation,但没有密码设置

当我通过命令连接到Redis服务器时,我收到错误NOAUTH身份validation : redis-cli并运行ping以检查Redis是否正常工作。 我找到NOAUTH身份validation所需的错误答案 ,该错误描述了此错误仅在Redis设置密码时发生,但我在etc/redis/redis.conf检查了Redis配置文件,并且没有密码设置。 有没有人知道,如果有其他设置可以导致此错误? 谢谢你的帮助。 p / s:我使用的是Ruby on Rails Web框架,Redis数据库用于Sidekiq。 编辑:Redis版本是2.8.4。 服务器托管在AWS上。 目前,我决定为Redis服务器设置一个密码,以便在运行时无法设置密码。 (重启Redis服务器时,它将正常工作。您可以运行sudo service redis-server restart来重启Redis服务器。)

Redis pub / sub on rails

关注Redis Pub / Sub 这工作正常,我可以使用任何类发布消息 $redis.publish ‘channel’, { object: @object.id } 使用redis-cli > MONITOR ,我可以validation此请求是否已正确发布 [0 127.0.0.1:64192] “publish” “channel” “{:object=>\”5331d541f4eec77185000003\” }” 当我在其他类(监听器类)中向该通道添加订户块时,问题就开始了,如下所示 class OtherClass $redis.subscribe(‘channel’) do |payload| p payload end end 在redis-cli > MONITOR ,还显示侦听器已正确订阅 [0 127.0.0.1:52930] “subscribe” “channel” 问题是,当我将订阅者监听器类添加到相同的rails应用程序时……它停止工作,因为OtherClass监听redis服务器并停止执行任何其他代码……它只是坐在那里听。 那么有没有办法在相同的rails应用程序上使用redis创建消息传递总线…以便从某些类或服务对象发布事件,并且有特定通道的侦听器在后台接收事件时采取行动。 我知道我可能会使用sidekiq或任何其他背景工作者来完成这项工作……但过了一段时间后,后台工作人员变得混乱而且无法维护。

将redis部署到heroku无法连接

香港专业教育学院一直试图让resoku与heroku合作。 我可以成功地让它在开发模式下工作,但是当我尝试推送到heroku时我得到了 Errno::ECONNREFUSED (Connection refused – Unable to connect to Redis on 127.0.0.1:6379): 然后阅读并关注http://blog.redistogo.com/2010/07/26/resque-with-redis-to-go/ 我把网站上列出的配置但出现以下错误 SocketError (getaddrinfo: nodename nor servname provided, or not known): 我输入了我的初始化器/ resque.rb Resque.after_fork = Proc.new { ActiveRecord::Base.establish_connection } ENV[“redis://redistogo:11111111111111111@lab.redistogo.com:9254/”] ||= “redis://heroku_username:heroku_password@host:9254/” uri = URI.parse(ENV[“redis://redistogo:1111111111111111@lab.redistogo.com:9254/”]) Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password) 但它会抛出上面提到的错误。 在我的开发模式下,我也得到了错误。 我尝试使用我的heroku用户名(我使用heroku中的add),将我的密码输入heroku,并将端口更改为9254.但是我现在一直收到套接字错误。 我究竟做错了什么? 帮助将不胜感激。 谢谢 […]

Redis正在寻找env redis url变量,不知道在哪里放置env变量坏URI(不是URI?):( URI :: InvalidURIError)

我对redis很新。 这个rails应用程序在config / initializers中有一个redis.rb文件 uri = URI.parse(ENV[“REDIS_URL”]) $redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password) redis url在heroku配置上。 我不能用REDIS_URL配置中的REDIS_URL替换REDIS_URL 。 我收到URI解析错误 bad URI(is not URI?): (URI::InvalidURIError) 我的问题是我应该在哪里放置redisurl? 在哪里搜索env变量?

Rails和缓存,在memcache和redis之间切换是否容易?

是否有一个共同的api,如果我在Redis或Memcached之间切换,我不需要更改我的代码,只需配置设置?

如何在Amazon OpsWorks上运行Redis以获取Rails应用程序?

我正在尝试在Amazon OpsWorks环境中设置Redis实例/图层以用于缓存目的和Sidekiq,但不能使Rails应用程序与Redis通信。 无论如何,我都需要厨师食谱吗? 我试图在一个分离的层上创建Redis,在这个层中添加了一个实例,但找不到相互之间进行Rails和Redis通信的方法。 有什么建议怎么做? 谢谢