我在我的類上使用了Observer。當其中一個記錄被創建/更新時,我需要不通過其他服務(通過URL調用)。爲避免減慢班級速度,最好的辦法是什麼?會使用gem喜歡delayed_job會矯枉過正嗎?Rails - 異步任務,分叉進程,最佳實踐
在我觀察的after_update()/ after_create()我只是想發起調用URL線程...
我在我的類上使用了Observer。當其中一個記錄被創建/更新時,我需要不通過其他服務(通過URL調用)。爲避免減慢班級速度,最好的辦法是什麼?會使用gem喜歡delayed_job會矯枉過正嗎?Rails - 異步任務,分叉進程,最佳實踐
在我觀察的after_update()/ after_create()我只是想發起調用URL線程...
如果您的通知是非線程阻塞,你可以簡單地產生一個線程,並執行那裏通知。這樣,當該線程等待響應時,程序將繼續運行。
當然,你需要一些方法來處理失敗。您可以嘗試三次,如果仍然失敗,請向日誌中寫入通知或其他內容。
最好的(最可靠的)解決方案是使用作業隊列。這樣,如果一項工作徹底失敗,您可以再次檢查並重新提交工作。
絕對使用社區支持/接受的gem像delayed_job或resque。它的確不像你想象的那麼難,你的應用程序將會更好地向下擴展。