我曾经使用Delayed_Job在我的rails应用程序中发送邮件,但只要它占用了我的ram,我就决定使用Sidekiq。我这样做了:
宝石文件
gem 'sidekiq'
application.rb中
config.active_job.queue_adapter = :sidekiq
development.rb
config.active_job.queue_adapter = :sidekiq
控制器
SampleMailer.method(data).deliver_now
邮件收发器
def method(data)
mail(to: "afsanefadaei@hotmail.com", subject: "#{data}")
end
但是当我安装Sidekiq时,我注意到我必须在我的ubuntu上安装redis-server。我安装了redis服务器,现在一切正常,但问题是我不想安装redis-server。 redis服务器是Sidekiq的必需依赖项,还是我可以用某种方式忽略它? 提前谢谢
答案 0 :(得分:2)
Sidekiq将其用作存储,它是唯一的选择,它不支持其他存储。以下是文档中的引用:
要求
Sidekiq支持CRuby 2.2.2+和JRuby 9k。
正式支持所有Rails版本> = 4.0。
需要Redis 2.8或更高版本。对于具有数千个工作线程的大型安装,建议使用3.0.3+。
答案 1 :(得分:1)
是的,redis是sidekiq的存储空间。所以你必须使用一些形式的redis。如果您不想在服务器上安装它,则可以使用众多托管解决方案之一。只需google“redis hosting”。