【问题标题】:ActionMailer not sending emails enqueued in Fake_sqsActionMailer 不发送在 Fake_sqs 中排队的电子邮件
【发布时间】:2016-09-07 21:18:16
【问题描述】:

我正在开发一个发送电子邮件的 Rails 4 应用程序,用于新注册等,我正在尝试设置 SQS 以使用 deliver_later 通过队列处理它们。在开发中,我使用Fake_SQS 来模拟这个。

消息已成功添加到队列中。如果我使用binding.pry,我会得到(格式很好)。

resp = sqs.receive_message({queue_url: "http://localhost:4568/mailers"}) =>
#<struct Aws::SQS::Types::ReceiveMessageResult
messages = [#<struct Aws::SQS::Types::Message
  message_id="95c380c7-9710-449e-beb6-19b19cc88e04",
  receipt_handle="7b51a9568a6301509459697376e867a6",
  md5_of_body="d09027c2c92b19e572766360fc627630",
  body="{\"job_class\"  : \"ActionMailer::DeliveryJob\",
         \"job_id\"     : \"6edb612c-e5f7-4cc0-8236-4ac538344c66\",
         \"queue_name\" : \"mailers\",
         \"arguments\"  : [\"UserMailer\",
                           \"test_email\",
                           \"deliver_now!\",
                           null],
         \"locale\"     : \"en\"}",
  attributes={},
  md5_of_message_attributes=nil,
  message_attributes={}>]>

我遇到的问题是稍后再发送这些电子邮件。我想我必须启动 ActiveJob 工作者,但我认为使用deliver_later 时会自动启动。如果没有,我该如何启动它并将其正确指向我的队列?

【问题讨论】:

    标签: ruby-on-rails email actionmailer amazon-sqs rails-activejob


    【解决方案1】:

    将以下内容添加到config/environments/development.rb

    config.active_job.queue_adapter = :inline
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 2019-04-21
      • 1970-01-01
      • 2022-08-13
      • 2011-08-11
      • 1970-01-01
      相关资源
      最近更新 更多