Ruby on rails Ruby on Rails-Sidekiq不发送电子邮件,锁定在计划任务中
我有一个联系人表单,可以将带有字段的电子邮件发送到管理员电子邮件。我用的是Sidekiq和Redis。当我发送表单时,任务被锁定在sidekiq schedule任务中,并且永远不会发送 有人经历过这种情况吗?我已经尝试了很多方法来解决这个问题,但是没有成功。我配置错了什么Ruby on rails Ruby on Rails-Sidekiq不发送电子邮件,锁定在计划任务中,ruby-on-rails,actionmailer,sidekiq,Ruby On Rails,Actionmailer,Sidekiq,我有一个联系人表单,可以将带有字段的电子邮件发送到管理员电子邮件。我用的是Sidekiq和Redis。当我发送表单时,任务被锁定在sidekiq schedule任务中,并且永远不会发送 有人经历过这种情况吗?我已经尝试了很多方法来解决这个问题,但是没有成功。我配置错了什么 # app/mailers/contact_mailer.rb class ContactMailer < ActionMailer::Base default from: "Facens Liga <no-
# app/mailers/contact_mailer.rb
class ContactMailer < ActionMailer::Base
default from: "Facens Liga <no-reply@facens.br>"
def create(contact)
@contact = contact
mail(to: "felipe.marcon@atua.ag", subject: "Contato Através do Site")
end
end
# config/initializers/sidekiq.rb
require 'sidekiq'
require 'sidekiq-status'
Sidekiq.configure_server do |config|
config.redis = { url: 'redis://127.0.0.1:6379/6', namespace: 'facenliga' }
end
Sidekiq.configure_client do |config|
config.redis = { url: 'redis://127.0.0.1:6379/6', namespace: 'facensliga' }
end
# config/sidekiq.yml
:pidfile: tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:queues:
- default
- mailers
production:
:concurrency: 25
staging:
:concurrency: 15
development:
:concurrency: 25
#app/mailers/contact_mailer.rb
类ContactMailer
我希望有人能帮助我。谢谢。问题在于您的命名空间。不要使用名称空间,就像我去年在博客中写的那样 redis名称空间gem允许您通过在每个键前加上名称空间,在多个应用程序之间共享redis数据库,但这是一个可怕的黑客行为,任何人都不应该使用。如果要共享Redis实例,Redis已经有了一个本机解决方案:数据库。默认数据库为0。以下是如何指示Sidekiq改用数据库1:
问题在于您的命名空间。不要使用名称空间,就像我去年在博客中写的那样 redis名称空间gem允许您通过在每个键前加上名称空间,在多个应用程序之间共享redis数据库,但这是一个可怕的黑客行为,任何人都不应该使用。如果要共享Redis实例,Redis已经有了一个本机解决方案:数据库。默认数据库为0。以下是如何指示Sidekiq改用数据库1:
可能是因为您没有处理
default
队列,只有mailers
@MikePerham即使我将default
放入队列,它也不会发送电子邮件。我在问题中更新了:队列
。还有什么?Web UI队列页面显示了什么?问题出在名称空间上。服务器端和客户端之间存在差异。我今天早些时候发现了这一点。可能是因为您没有处理default
队列,只有mailers
@MikePerham即使我将default
放入队列,它也不会发送电子邮件。我在问题中更新了:队列
。还有什么?Web UI队列页面显示了什么?问题出在名称空间上。服务器端和客户端之间存在差异。我今天早些时候发现了这个问题,问题出在名称空间上。服务器端和客户端之间存在差异。我今天早些时候就知道了。现在我使用环境变量来设置名称空间,并且在服务器和客户端之间没有区别。我会读你的帖子。谢谢问题出在名称空间上。服务器端和客户端之间存在差异。我今天早些时候就知道了。现在我使用环境变量来设置名称空间,并且在服务器和客户端之间没有区别。我会读你的帖子。谢谢