當某些條件得到滿足時,我想安排一名工人在5分鐘內完成一項特定工作。問題是,如果再次遇到相同的條件,我想檢查是否有計劃要運行的東西。如果有這樣一個工人計劃跑,那麼,我不想再入隊,但如果沒有,它應該排隊。我希望你們明白我想要做的事情。它可以實現嗎?如果是,如何?如何從我的代碼中檢查Sidekiq中是否有東西入隊?
0
A
回答
2
聽起來像你想要使用或實現一個簡單的持久鎖。排隊作業的代碼可以首先檢查鎖的可用性,如果可用,則獲取並排隊,如果不可用則跳過。排隊的工作可以負責釋放鎖。您需要考慮失敗,例如添加鎖定超時。寶石可能是這個想法的有用實現。
1
最佳實踐可以促進冪等的工作。這意味着你應該以這樣的方式編寫它們,以便多次運行它們應該是安全的。任何後續的呼叫都不會改變第一個呼叫的結果。通過編寫適當檢查的邏輯來實現這一點,並相應地採取行動。既然你沒有提供你的工作者的描述,我不能更具體。
舉一個例子,這裏是對Sidekiq的常見問題解答的鏈接:Make your workers idempotent and transactional
這種方法的好處是,你沿着預定工人的便利抽象打,而不是反對它的戰鬥。
相關問題
- 1. 檢查是否有優先隊列中的東西Python
- 2. 如何檢查cin中是否有任何東西[C++]
- 3. 我如何檢查是否在Python中輸入了什麼東西是一樣的CSV文件的東西
- 4. 如何檢查我的迭代器是否沒有任何東西
- 5. 如何在PHP中檢查4天前是否有東西?
- 6. Backbone.js和setInterval:如何檢查DOM中是否有東西
- 7. 我如何檢查是否有東西在字典中的Django模板
- 8. 檢查是否有東西不在Python中的列表中
- 9. 如何真正檢查VB.NET中的東西是否爲空?
- 10. 如何檢查是否有東西有價值
- 11. C++ - 如何檢查char *是否指向有效的東西?
- 12. 如何檢查是否有東西在的CMakeLists.txt定義文件
- 13. 如何檢查是否有東西在移動?
- 14. Javascript:如何檢查是否有東西被添加到DOM?
- 15. 如何檢查在StreamReader上是否有東西需要讀取?
- 16. Jquery檢查是否有東西已經在PHP中發佈$ _POST
- 17. 檢查字符串中是否有東西
- 18. PHP - 檢查瀏覽器中是否有東西被打印
- 19. 檢查用戶是否看過東西
- 20. 檢查是否subprocess.Popen創建東西
- 21. 如何檢查鏡頭前是否是統一的東西?
- 22. 檢查unix管是否關閉而不寫入任何東西?
- 23. 檢查是否從代碼
- 24. 檢查數組中是否存在任何東西
- 25. 檢查輸入是否是數字或其他東西
- 26. 檢查「git stash」是否藏有任何東西
- 27. jQuery/javascript檢查是否有任何東西正在加載
- 28. 檢查兩點之間是否有任何東西
- 29. 如何檢查Windev中的Compile()方法是否檢查代碼?
- 30. 如何檢查Google Test是否在我的代碼中運行
非常感謝,這對我真的很有用 –