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を使うと自動的に起動されると思った。もしそうでなければ、私はそれをどのように起動し、それを私のキューに適切に向けるのでしょうか?

答えて

2

最後に修正がかなり簡単でした。

config.active_job.queue_adapter = :inlineconfig/environments/development.rbに追加する必要があります。

関連する問題