spring 定时任务同一时间要做很多逻辑,我是写一个定时任务呢?还是写多个定时任务异步执行呢?求大佬讲解一下
确实根据情况需要进行判断。一些意见可以参考一下
1. 如果是完全没有关联的,建议分开,没必要增加耦合,后面也便于修改,也符合单一指责
2. 如果存在关联关系,你可以先考虑写成一个,记得封装好逻辑,比如逻辑可以分为步骤1 和步骤2 。
然后思考几个问题,
a. 是否有别的逻辑只依赖与其中某个步骤,而不是所有步骤?
b. 比如步骤1慢了,导致步骤2慢了,对业务是否有影响。
c. 某个步骤错了,导致另外的步骤也执行不了,可以忍受么,是不是另外一个步骤单独执行,不用管那个出错的步骤,对业务更友好?
然后你就可以判断是分多个还是单个了。 暂时只想到这些,希望有所帮助
根据业务和任务大小,产品体积等因素来决定,
你就说这么一句,说不准是哪个好,
只能跟你说,
一个定时任务时间久,出现异常影响整体
多个定时任务耗资源,但互不影响(如果线程之间没逻辑关联的话)
一个或多个取决于你的多逻辑的执行时间是否一样
如果都是同一时间执行的写一个就行了,嫌慢的话可以在定时任务中把多逻辑分多个线程去做