需求: 执行一个任务模板 任务正在执行 然后修改模板后 正在执行的任务不执行修改后的模板 应该修改前的模板任务执行完成后 执行修改后的任务
解决方案:
-
在修改任务模板之前,记录当前正在执行的任务的模板版本号。
-
修改任务模板后,将版本号加1。
-
在任务执行时,首先获取当前任务的模板版本号。
-
如果当前任务的模板版本号等于修改前的模板版本号,则执行原来的任务模板。
-
如果当前任务的模板版本号等于修改后的模板版本号,则执行修改后的任务模板。
-
如果当前任务的模板版本号大于修改前的模板版本号且小于修改后的模板版本号,则不执行该任务,等待修改前的任务执行完毕后再执行修改后的任务模板。
-
如果当前任务的模板版本号大于修改后的模板版本号,则执行修改后的任务模板。
通过以上步骤,可以保证正在执行的任务不会执行修改后的任务模板,而是等待修改前的任务执行完毕后再执行修改后的任务模板。同时,也可以保证修改后的任务模板能够及时生效。
原文地址: https://www.cveoy.top/t/topic/fsfs 著作权归作者所有。请勿转载和采集!