说明:本篇文章部分内容参考了网上的文章(在下文已给出原文链接),由于本人能力有限,如果有书写错误的地方,欢迎各位大佬批评指正!我们互相交流,学习,共同进步!
该项目的地址:https://github.com/xiaoheng1/nacos_read
关于 Nacos 任务执行引擎的设计
// 任务的抽象.
public interface NacosTask {
/**
* Judge Whether this nacos task should do.
*
* @return true means the nacos task should be done, otherwise false
*/
boolean shouldProcess();
}

NacosTask 分为两类,AbstractExecuteTask 和 AbstractDelayTask.
AbstractDelayTask 可以延迟和合并任务的抽象. 怎么理解了?可以看下 shouldProcess 方法,等于(当前时间-上次执行时间) >= 执行间隔,则允许执行.
AbstractExecuteTask 立即执行任务的抽象.
// Nacos 任务执行引擎
public interface NacosTaskExecuteEngine extends Closeable {
/**
* Get Task size in execute engine.
*
* @return size of task
*/
int size();
/**
* Whether the execute engine is empty.
*
* @return tr

本文详细介绍了Nacos任务执行引擎的设计,包括NacosTask接口、AbstractExecuteTask和AbstractDelayTask的抽象实现,以及NacosTaskExecuteEngine的接口和其实现。任务执行分为立即执行和延迟执行两种类型,通过NacosTaskProcessor处理任务。同时,文章探讨了任务执行与通知设计的异同,指出两者在设计上有一定共性,可以考虑整合。
最低0.47元/天 解锁文章
7806

被折叠的 条评论
为什么被折叠?



