轻量级分布式延时任务处理组件easyTask-L-API介绍篇
2020-12-26 15:26
标签:font netty add bmon 队列 类设计 无效 正在执行 单例 easyTask-L的API设计比较简洁、易于理解和使用。主要涉及环形队列类、配置类、任务超类以及监控类四个方面。下面逐一做简单介绍。本文只对比较重要的API做介绍,其他API还望读者自行探索 环形队列类设计为单例模式。通过AnnularQueue.getInstance();获取。 启动easyTask-L,包括环形队列时钟、集群等一系列工作。且只需要在系统启动时调用一次即可。切勿重复调用。参数config是必须的,系统将此配置参数实例作为当前工作的参数。如果启动失败将抛出异常。 向环形队列中提交新任务。提交失败则抛出异常 向环形队列中提交新任务。提交失败则抛出异常。如果环形队列还没有启动成功,则任务不抛出异常,等待启动后再正式提交任务。 前面说了环形队列(集群)启动时需要给一个启动配置参数。因为这是系统必须的东西。 集群zookeeper地址配置。必填 如:127.0.0.1:2181 任务备份数量,默认2。最大2,超过部分无效 自定义任务本地存储路径。必填 sqlite连接池大小设置。默认cpu数的两倍 设置当前节点Netty服务端口号。默认2020 设置集群通信调用超时时间。默认3秒 ZK节点信息失效超时时间。默认超过60s就判断为失效节点,任何其他节点可删除掉 ZK节点信息死亡超时时间。默认超过30s就判断为Leader失效节点,其Follow节点可进入选举新Leader 节点对zk的心跳频率。默认2s一次 集群节点之间通信失败重试次数。默认2次 清理任务备份表中失效的leader备份。默认1小时一次。单位毫秒 集群公用程池。暂时不用设置 环形队列任务调度线程池。默认为cpu核心数 环形队列工作任务线程池。默认为cpu核心数2倍 设置任务未来的执行时间戳。如果你设置的是一个过去的时间戳,则代表任务立即执行。适用于单次任务以及周期性任务 设置任务类型。单次任务或周期任务 设置周期任务的执行周期时间单位。支持天、小时、分、秒 设置当前任务携带的执行参数。仅支持字符串类型。其他类型都可以转化为字符串 获取环形队列中等待被触发执行的任务数 获取分派任务线程池信息。包括:taskQty队列中等待执行的任务数,completedQty已经执行完成的任务数,activeQty正在执行任务的线程数,coreSize设置的核心线程数 获取执行任务线程池信息。包括:taskQty队列中等待执行的任务数,completedQty已经执行完成的任务数,activeQty正在执行任务的线程数,coreSize设置的核心线程数 获取当前节点信息 获取任务的数据存储跟踪信息。因为涉及到访问数据库,不建议频繁调用 获取当前节点在zk上的注册信息 获取任务在本节点的数据存储信息 轻量级分布式延时任务处理组件easyTask-L-API介绍篇 标签:font netty add bmon 队列 类设计 无效 正在执行 单例 原文地址:https://www.cnblogs.com/liuche/p/13367437.html环形队列(AnnularQueue)
1、void start(EasyTaskConfig config) throws Exception:
2、String submit(Task task) throws Exception:
3、String submitAllowWait(Task task) throws Exception
配置类(EasyTaskConfig)
1、String zkAddress;
2、int backupCount ;
3、String taskStorePath;
4、int sQLlitePoolSize
5、int serverPort
6、int timeOut
7、int loseTimeOut
8、int deadTimeOut
9、int heartBeat
10、int tryCount
11、int clearScheduleBakTime
12、ExecutorService clusterPool
13、ExecutorService dispatchs
14、ExecutorService workers
任务超类(Task)
1、void setEndTimestamp(long endTimestamp)
2、void setTaskType(TaskType taskType)
3、void setUnit(TimeUnit unit)
4、void setParam(Map
环形队列监控(AnnularQueueMonitor)
1、int getTaskInAnnularQueueQty()
2、Map
3、Map
集群监控(ClusterMonitor)
1、String getCurrentNodeInfo()
2、Map
3、ZKNode getCurrentZKNodeInfo()
数据存储监控(DBMonitor)
1、Map
文章标题:轻量级分布式延时任务处理组件easyTask-L-API介绍篇
文章链接:http://soscw.com/index.php/essay/38375.html