我在用戶首次登錄後使用Sidekiq工作人員完成了對Facebook的一些請求。通常這項任務大約需要20秒左右。監測Sidekiq工作完成情況的最佳方法是什麼?
我想在完成同步後使用ajax請求在頁面上加載一些信息,但我不確定使用Javascript檢查作業完成的最佳方法。
一種可能性是配置Sidekiq工作人員在其餘作業完成後設置cookie。然後我可以使用setTimeout函數在調用加載函數之前檢查cookie。但我不確定這是否是做這件事的最好方法。我可以使用Redis嗎?
我在用戶首次登錄後使用Sidekiq工作人員完成了對Facebook的一些請求。通常這項任務大約需要20秒左右。監測Sidekiq工作完成情況的最佳方法是什麼?
我想在完成同步後使用ajax請求在頁面上加載一些信息,但我不確定使用Javascript檢查作業完成的最佳方法。
一種可能性是配置Sidekiq工作人員在其餘作業完成後設置cookie。然後我可以使用setTimeout函數在調用加載函數之前檢查cookie。但我不確定這是否是做這件事的最好方法。我可以使用Redis嗎?
保羅,我會保持你的關注分離。我假設sidekiq工作人員使用一些rails activerecord模型向Facebook發送一些信息。當facebook請求成功完成時,我會將該模型上的標誌設置爲true。
然後,你可以在js上有一個setTimeout來輪詢db中的這個變化......或者你可以使用web套接字來查看更快,更自動的響應。過去我使用過一個名爲Pusher的庫。使用Rails進行集成非常簡單,並且使用戶界面非常靈活。
在sidekiq worker中,您無法設置cookie,因爲要將cookie發送給客戶端,您需要向他們發送HTTP響應,而worker不是服務器。 – RocketR 2017-12-08 14:57:03