Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dawnings/dy-task-actuator-simple
待遇任务执行器-一个简单的任务执行器
https://github.com/dawnings/dy-task-actuator-simple
java maven task
Last synced: 13 days ago
JSON representation
待遇任务执行器-一个简单的任务执行器
- Host: GitHub
- URL: https://github.com/dawnings/dy-task-actuator-simple
- Owner: dawnings
- License: gpl-2.0
- Created: 2024-11-29T16:16:10.000Z (25 days ago)
- Default Branch: main
- Last Pushed: 2024-12-10T02:07:06.000Z (15 days ago)
- Last Synced: 2024-12-10T03:18:33.266Z (15 days ago)
- Topics: java, maven, task
- Language: Java
- Homepage: http://dawnings.cn
- Size: 72.3 KB
- Stars: 30
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
---
title: 待遇任务执行器(dy-task-actuator-simple)文档
date: 2024-12-05T12:42:27Z
lastmod: 2024-12-05T14:39:38Z
tags: [Java,dy-task-actuator-simple]
---# 待遇任务执行器(dy-task-actuator-simple)文档
# 简介
简称 dtas 吧。这是一个尚在起步但无需太多功能的执行器。
心血来潮,做了一个任务执行器,倒不是一定要重复造轮子,而是没有发现开箱即用的任务执行器。
`这不是一个特别高性能的任务调度框架!只是一个任务执行器。唯一的优点就是简单。`
设计时希望 dtas 能够简单调控、限制资源使用、增大资源利用率、实现简易监控。为此采用了多级线程池、阻塞队列、信号量、令牌桶。
dtas 适用于执行大量的 cpu 密集型、io 密集型、网络请求任务,也可用作并发的异步任务控制。
# 联系
我会在每周六下午检查邮箱、留言和 issue
1. 给我发送邮件: [email protected]
2. 在博客园给我留言:[https://www.cnblogs.com/dawnings/p/18588469/treatment-task-actuator-dytaskactuatorsimple-document-zka1bj](https://www.cnblogs.com/dawnings/p/18588469/treatment-task-actuator-dytaskactuatorsimple-document-zka1bj)
3. 在 github 给我 issue:[https://github.com/dawnings/dy-task-actuator-simple](https://github.com/dawnings/dy-task-actuator-simple)# 支持
1. 您可在博客园给我打赏。
2. 作者时间并不充裕,故暂不支持pr,您可在issue中提供支持。# 安装
github 上 main 分支代码就是最新可用的完整代码,如有三方引用会在文档标注。
# 依赖
dtas 通过 `hutool` 和 `guava` 减少造轮子。
所有依赖如下:
|`artifactId`|`groupId`|`version`|`scope`|
| -------------------| -------------------| -------------------| -------------------|
|`lombok`|`org.projectlombok`|`1.18.26`|`provided`|
|`slf4j-api`|`org.slf4j`|`2.0.16`|`provided`|
|`hutool-all`|`cn.hutool`|`5.8.34`|`compile`|
|`guava`|`com.google.guava`|`33.3.1-jre`|`compile`|
|`junit`|`junit`|`4.13.1`|`test`|项目构建环境如下:
|name|version|
| ---------------------| ------------------------|
|`jdk`|`8`|
|`maven`|`3.6.3`
|# 功能清单
#### builder 构建工具
* [X] 配置任务名称
* [X] 通过任务名称获取任务执行器
* [X] 设定自定义通讯标记
* [X] 设定启动延迟时间
* [X] 设定限流器
* [X] 设定数据采集数量最低门限
* [X] 设定数据采集数量最高门限(任务队列极限)
* [X] 设定数据采集间隔最低门限
* [X] 设定数据采集间隔最高门限
* [X] 设定并发线程最高数量
* [X] 设定数据采集执行接口
* [X] 设定任务消费执行接口
* [X] 设定任务执行回调接口
* [X] 设定消费速率监控接口
* [X] 设定消费速率 X 轴生成器
* [X] 设定消费速率 X 轴生成通知接口
* [X] 设定限流器验证接口#### 执行器
* [X] 添加任务到等待队列
* [X] 添加任务到等待队列(阻塞)
* [X] 添加任务到执行队列
* [X] 终止执行器
* [X] 暂定执行器
* [X] 恢复执行器
* [X] 调整最大并发线程
* [X] 获取消费速率表
* [X] 获取运行状态参数#### 预实现接口
###### 消费速率 X 轴生成器
* [X] 每 5s 生成
* [X] 每 1 分钟生成
* [X] 每 5 分钟生成
* [X] 10 分钟生成###### 限流验证器
* [X] 默认通过验证器
#### 工具
* [X] 可动态限制大小的 LinkedHashMap
* [X] 可动态调控数量的信号量#### 集成
* [ ] springboot-starter集成