我在铁路上使用sidekiq发送电子邮件。我为redis服务器添加了密码,但是似乎无法正确输入密码,因为我遇到了错误
D, [2015-12-10T16:49:52.714279 #10497] DEBUG -- : (0.5ms) COMMIT
I, [2015-12-10T16:49:52.720380 #10497] INFO -- : [ActiveJob] Enqueued ActionMailer::DeliveryJob (Job ID: 5bce215c-7649-4774-8c6e-d29e743cf25e) to Sidekiq(mailers) with arguments: "MessageMailer", "new_message", "deliver_now", gid://customer-app/Message/18
I, [2015-12-10T16:49:52.723400 #10497] INFO -- : Completed 500 Internal Server Error in 25ms (ActiveRecord: 1.6ms)
F, [2015-12-10T16:49:52.726204 #10497] FATAL -- :
Redis::CommandError (NOAUTH Authentication required.):
app/controllers/messages_controller.rb:37:in `block in create'
app/controllers/messages_controller.rb:35:in `create'
我的sidekiq日志显示应该可以吗?
2015-12-10T16:49:39.220Z 10448 TID-ows27pimw INFO: Booting Sidekiq 3.5.3 with redis options {:url=>"redis://localhost:6379/0", :password=>"REDACTED", :namespace=>"sidekiq"}
2015-12-10T16:49:40.916Z 10448 TID-ows27pimw INFO: Running in ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]
这是我在初始化程序中的sidekiq.rb
Sidekiq.configure_server do |config|
config.redis = { :url => "redis://#{}localhost:6379/0", password: ENV["REDIS_PASSWORD"], :namespace => "sidekiq" }
end
您需要在服务器和客户端块中都配置Redis,如使用Redis
wiki页面中所述
。
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 使用方法: 1. 首先将 worker 类放到 app/workers: class HardWorker include Sidekiq::Worker def perform(name, count) # do something endend 2. 在控制器 action 或者 model 中调用 Hard
问题内容: 我正在将广泛的后台任务推算给sidekiq工作者(第一次使用sidekiq)。 我已经能够使其正常运行。 但是我不确定如何检查sidekiq工作程序的进度-检查工作程序是否已通过perform_async函数完成的最佳方法是什么? AutoWorker sidekiq任务: 从我的控制器调用: 问题答案: 将以下扩展gem检出到sidekiq:https : //github.com/
问题内容: 我在使用docker和docker-docker来运行Rails应用程序时遇到此错误,并在127.0.0.1:6379(Errno :: ECONNREFUSED)上连接到Redis 请找到我的Docker文件 请找到我的docker-compose.yml文件 提前致谢! 问题答案: 我使用docker-compose并添加文件
问题内容: 我有,并且在我的Rails应用程序中。 我试图接管发送电子邮件。但没有运气。我遵循了这样的指示: 添加到模型: 创建一个初始化程序: 我尚未在邮件中进行任何自定义修改 这是创建新帐户时控制台中显示的内容: 我的Sidekiq日志没有显示任何内容。 有任何想法吗? 问题答案: 设置。
问题内容: 在我的应用程序中,我有25个工作人员,这些工作人员被不同用户的操作随机使用。 每个用户只允许同时进行一项(活动/忙碌)工作。 不能在控制器上将其阻止,因为其思想不是阻止动作的创建。需要创建动作,但动作要排队,直到处理同一用户的所有previos请求,然后才为该同一用户(重新)分配一个工作程序。 同时,如果另一个用户请求创建作业,则在剩余的24个工人中至少有一个可用时,它应该立即启动。
可能更多的是试图克服学习曲线和实际代码问题。我很抱歉,如果这似乎是努比什,目前我在生产中得到这个错误。 基本上,我一直收到这个“redis池太小了”,我迷失了从哪里开始,我实际上迷失了基本上理解如何准确地用美洲狮或配置后的任何东西,如缩放等。 下面是我收到的错误后的配置。 procfileweb:bundle exec puma-C config/puma.rb worker:bundle exe