在Sidekiq wiki中声明:
- 让您的工作变得简单
我变得简单,我得到幂等和交易,但什么是小的?可能需要内存和计算时间是一个很好的衡量标准?我的Sidekiq工作需要10秒到30分钟。
我认为10秒是可以的,但30分钟的长期任务呢?我将某种类型的所有数据从数据库加载到内存中,对它们运行冗长的计算,然后写回结果。一个工人工作中的所有三件事。
那很好吗?或者我应该从一个工作人员工作,多个工作人员工作调用运行小计算?问题是,这些小型计算可能需要一些复杂的哈希表来进行计算,并且建议不要在Redis中保留它,只需要很小的简单值。
这取决于您希望/必须调用该作业的频率以及您是否可以接受它需要这么长时间。
如果你以比完成它更短的间隔运行工作,那肯定是太长了。
如果您可以改善总运行时间(例如,如果其中一些可以同时运行),则将其拆分为多个工作人员只会对此有所帮助
所以一如既往的经验法则:只要它符合您的需求就可以了。
然而: