Ich arbeite an einer Rails 4 App, die E-Mails versendet, für Neuanmeldungen und so, und ich versuche SQS einzurichten deliver_later
zu verwenden, um sie der Warteschlange hinzuzufügen. In der Entwicklung simuliere ich das mit Fake_SQS.ActionMailer sendet keine E-Mails, die in Fake_sqs eingereiht sind
Die Nachrichten werden erfolgreich zur Warteschlange hinzugefügt. Wenn ich binding.pry
benutze bekomme ich (schön formatiert).
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={}>]>
Ich habe Probleme mit dem Senden dieser E-Mails später. Ich denke, ich muss den ActiveJob Worker starten, aber ich dachte, dass würde automatisch gestartet werden, wenn deliver_later
verwendet wird. Wenn nicht, wie starte ich es und zeige es in meiner Warteschlange richtig an?