ActionMailer 不发送在 Fake_sqs 中排队的电子邮件
ActionMailer not sending emails enqueued in Fake_sqs
我正在开发一个 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 worker,但我认为它会在使用 deliver_later
时自动启动。如果没有,我如何启动它并将其正确指向我的队列?
将以下内容添加到 config/environments/development.rb
:
config.active_job.queue_adapter = :inline
我正在开发一个 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 worker,但我认为它会在使用 deliver_later
时自动启动。如果没有,我如何启动它并将其正确指向我的队列?
将以下内容添加到 config/environments/development.rb
:
config.active_job.queue_adapter = :inline