我正在被分成公共和管理部分的應用程序(部署到Heroku的)。管理部分中的一項主要任務(由少數用戶管理)正在上傳圖像。這些圖像可能非常大,需要處理成多種尺寸(某些非常大)。我正在處理圖像上傳客戶端,直接上傳到S3,然後使用Sidekiq處理圖像處理。這可以避免阻塞網絡測試儀和Unicorn超時問題。我應該如何管理工人的Heroku對於非經常性工作
的問題是,這意味着我需要一個工人測功機運行在任何時候,即使管理員會經常只上傳了幾個圖片的一天(雖然他們可以上傳多)。我最初的想法是使用Hirefire,但它只檢查隊列every minute(雖然在我的測試,似乎更接近每3分鐘)。一旦圖像被處理,管理員有完成的任務,所以我需要儘快處理它,所以這種延遲(與處理時間相結合)是不可接受的。
所以我在尋找,做如下的解決方案:
- 旋轉起來工人測功機,如果需要只要一個作業添加處理任何工作。
- 降速工人賽道,當隊列爲空。
Hirefire讓我一半在那裏(我不介意推遲下降 dyno)。
我有哪些選擇?
讓我知道,如果你發現了什麼,這看起來真的很酷,我可以用這樣的事情爲好。感謝發佈 – 2014-12-01 17:31:40