1
私はRails 4アプリケーションを使ってメールを送ります。新しい登録などについては、deliver_later
を使用してキューに追加しようとしています。開発中私はFake_SQSを使ってこれをシミュレートしています。ActionMailerが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
を使うと自動的に起動されると思った。もしそうでなければ、私はそれをどのように起動し、それを私のキューに適切に向けるのでしょうか?