我想在我的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. c#keypress在控制檯應用程序的背景下偵聽
- 2. 用於遠程應用程序消息的Android偵聽器
- 3. iOS應用程序在背景上偵聽共享存儲
- 4. 如何讓我的應用程序偵聽傳入的短信?
- 5. 從Java應用程序發送消息到偵聽的Android應用程序
- 6. 無法從EMR中運行的Spark應用程序中刪除AWS SQS消息
- 7. AWS SQS消息保留期
- 8. 如何在Android應用程序的背景中檢測傳出的SMS消息?
- 9. XCode iDevice應用程序 - 如何偵聽來自服務器的消息/請求?
- 10. 彈簧數據redis消息偵聽器偵聽消息兩次
- 11. 如何獲取用戶在Spotify應用程序中當前偵聽的信息
- 12. 在Angular應用程序中偵聽socket.io
- 13. 使用Java sdk刪除AWS SQS消息
- 14. SQS消息
- 15. 無法在偵聽器偵聽到彈簧jms中的消息後將主體中的消息取消。
- 16. C#中的SQL消息偵聽器#
- 17. 背景上的時鐘應用程序「無警報」消息
- 18. 如何在iphone中運行我的應用程序背景?
- 19. 如何禁用位置監聽器,當應用程序在Android 4.4.2的背景
- 20. Swing應用程序在Grails應用程序中偵聽更改
- 21. 在我的應用程序中打開「消息」應用程序
- 22. Android應用程序偵聽TCP/IP消息的最佳方式是什麼?
- 23. 如何訪問時,我的應用程序在背景的Android
- 24. 基本消息隊列系統(AWS SQS)
- 25. 如何在應用程序關閉或背景時接收GCM消息?
- 26. 我如何獲得一個背景圖片到我的Rails應用程序
- 27. 在Web應用程序的背景中向Twitter發送同步消息
- 28. 如何在我的WCF應用程序中顯示消息?
- 29. 如何在我的應用程序保存網格背景
- 30. 如何基於來自SQS的消息縮放Elasticbeanstalk應用程序工作者?
爲什麼Shoryuken不起作用? Shoryuken以Rails應用程序的獨立流程運行,它不應該影響/更改Rails應用程序中的任何內容。 –
@PabloCantero - 感謝您的評論。我們將我們的服務部署在docker中,所以我們希望將所有內容都包裝到同一個進程中。通常這種方法只有2個容器 - 一個用於Rails,一個用於隊列處理,這種方式每個都有自己的進程,但考慮到在這個特定的應用中隊列負載的重量是多少,這是不值得的操作和計算採取這種方法的開銷 – jtmarmon