当某些条件得到满足时,我想安排一名工人在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是否在我的代码中运行
非常感谢,这对我真的很有用 –