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