我想在我的rails應用程序的背景中異步輪詢消息。 Shoryuken不起作用,因爲我想讓我的Rails應用程序也監聽傳入的HTTP請求。如何在我的Rails應用程序的背景中偵聽AWS SQS消息?
1
A
回答
3
在config/initializers
像這樣創建初始化:
# Allows the thread to crash our app for us
Thread.abort_on_exception = true
Thread.new do
queue_url = "..."
poller = Aws::SQS::QueuePoller.new(queue_url)
poller.poll do |msg|
puts msg.body
end
end
可以使用Active Job通過更復雜的工作處理消息:
創建像這樣的工作: rails g job process_a_message
然後在輪詢塊:
poller.poll do |msg|
ProcessAMessageJob.perform_later msg.body
end
+2
有沒有人真的用ActiveJob嘗試這件作品?從Rails控制檯來看,初始化程序對我們來說工作得很好,但服務器在守護進程模式下運行時,線程在初始消耗後似乎崩潰... –
+0
得到了同樣的問題.... –
相關問題
- 1. 用於遠程應用程序消息的Android偵聽器
- 2. iOS應用程序在背景上偵聽共享存儲
- 3. 從Java應用程序發送消息到偵聽的Android應用程序
- 4. AWS SQS消息保留期
- 5. 如何在Android應用程序的背景中檢測傳出的SMS消息?
- 6. XCode iDevice應用程序 - 如何偵聽來自服務器的消息/請求?
- 7. 彈簧數據redis消息偵聽器偵聽消息兩次
- 8. 如何獲取用戶在Spotify應用程序中當前偵聽的信息
- 9. SQS消息
- 10. 使用Java sdk刪除AWS SQS消息
- 11. 無法在偵聽器偵聽到彈簧jms中的消息後將主體中的消息取消。
- 12. C#中的SQL消息偵聽器#
- 13. 背景上的時鐘應用程序「無警報」消息
- 14. 如何在iphone中運行我的應用程序背景?
- 15. Android應用程序偵聽TCP/IP消息的最佳方式是什麼?
- 16. 如何在應用程序關閉或背景時接收GCM消息?
- 17. 如何在我的WCF應用程序中顯示消息?
- 18. 如何在我的應用程序保存網格背景
- 19. 如何基於來自SQS的消息縮放Elasticbeanstalk應用程序工作者?
- 20. 如何使用Spring 4的JmsTemplate從MQ偵聽消息?
- 21. Joomla背景應用程序
- 22. Rails 3:在我的Rails應用程序中設置私人消息傳遞?
- 23. 我的Twisted Klein應用程序如何在多個端口上偵聽?
- 24. 如何保持Python TCP偵聽器應用程序運行?
- 25. SQS隊列並行處理消息使用sqs消費者nodejs
- 26. 如何更改我的iPhone應用程序的背景圖片?
- 27. 如何爲我的WPF應用程序做背景音樂?
- 28. 如何知道哪些JMS偵聽器隊列聽消息?
- 29. 消息記錄 - 在AWS存儲桶中存儲Heroku Rails應用程序
- 30. 如何轉換JMS消息對接收的消息偵聽到的域對象
爲什麼Shoryuken不起作用? Shoryuken以Rails應用程序的獨立流程運行,它不應該影響/更改Rails應用程序中的任何內容。 –
@PabloCantero - 感謝您的評論。我們將我們的服務部署在docker中,所以我們希望將所有內容都包裝到同一個進程中。通常這種方法只有2個容器 - 一個用於Rails,一個用於隊列處理,這種方式每個都有自己的進程,但考慮到在這個特定的應用中隊列負載的重量是多少,這是不值得的操作和計算採取這種方法的開銷 – jtmarmon