3
我使用Sidekiq來運行在控制器中延遲的方法(同時我使用Redis更新進度條)。此方法調用服務器,檢索數據,進行一些操作和計算;那麼可能需要一段時間。延遲方法的Sidekiq返回值
例如,我有這樣的方法:
data_and_status = MyModelName.delay.retrieve_data(params[:tags], "preview", current_user, params[:from], params[:to])
這個方法應該返回數據操縱,但以這種方式data_and_status
做的是一個散列(我想這是Sidekiq在職-ID)。 返回的數據非常大,使用Redis進行緩存很不幸。
如何檢索延遲作業(方法)的return value
?
謝謝您的回覆!那麼你建議使用數據庫在某個地方存儲一個標誌,指示工作的「狀態」?當完成從db或從/ tmp中的文件檢索結果數據? – damoiser
如果您只想檢查作業的狀態,可以使用sidekiq插件來追蹤該作業:請參閱https://github.com/mperham/sidekiq/wiki/FAQ#how-can-i-tell-when-一個在職具有成品 – Eero