待遇任务执行器(dy-task-actuator-simple)文档
待遇任务执行器(dy-task-actuator-simple)文档
简介
简称 dtas 吧。这是一个尚在起步但无需太多功能的执行器。
心血来潮,做了一个任务执行器,倒不是一定要重复造轮子,而是没有发现开箱即用的任务执行器。
这不是一个特别高性能的任务调度框架!只是一个任务执行器。唯一的优点就是简单。
设计时希望 dtas 能够简单调控、限制资源使用、增大资源利用率、实现简易监控。为此采用了多级线程池、阻塞队列、信号量、令牌桶。
dtas 适用于执行大量的 cpu 密集型、io 密集型、网络请求任务,也可用作并发的异步任务控制。
联系
我会在每周六下午检查邮箱、留言和 issue
- 给我发送邮件: 17625901395@163.com
- 在博客园给我留言:https://www.cnblogs.com/dawnings/p/18588469/treatment-task-actuator-dytaskactuatorsimple-document-zka1bj
- 在 github 给我 issue:https://github.com/dawnings/dy-task-actuator-simple
支持
- 您可在博客园给我打赏。
- 作者时间并不充裕,故暂不支持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 轴生成器
- 每 5s 生成
- 每 1 分钟生成
- 每 5 分钟生成
- 10 分钟生成
限流验证器
- 默认通过验证器
工具
- 可动态限制大小的 LinkedHashMap
- 可动态调控数量的信号量
集成
- springboot-starter集成
待遇任务执行器(dy-task-actuator-simple)文档的更多相关文章
- 在线API文档管理工具Simple doc
Simple doc是一个简易的文档发布管理工具,为什么要写Simple doc呢?主要原因还是github的wiki并不好用:没有目录结构,文章没有Hx标签索引,最悲剧的是文章编辑的时候不能直接图片 ...
- Spring Boot属性文件配置文档(全部)
This sample file is meant as a guide only. Do not copy/paste the entire content into your applicatio ...
- 最近学习工作流 推荐一个activiti 的教程文档
全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...
- Spring Boot文档
本文来自于springboot官方文档 地址:https://docs.spring.io/spring-boot/docs/current/reference/html/ Spring Boot参考 ...
- ABP文档 - 通知系统
文档目录 本节内容: 简介 发送模式 通知类型 通知数据 通知重要性 关于通知持久化 订阅通知 发布通知 用户通知管理器 实时通知 客户端 通知存储 通知定义 简介 通知用来告知用户系统里特定的事件发 ...
- ABP文档 - 本地化
文档目录 本节内容: 简介 应用语言 本地化源 XML文件 注册XML本地化源 JSOn文件 注册JSON本地化源 资源文件 自定义源 获取一个本地文本 在服务端 在MVc控制器里 在MVC视图里 在 ...
- SpingMVC 核心技术帮助文档
声明:本篇文档主要是用于参考帮助文档,没有实例,但几乎包含了SpringMVC 4.2版本的所有核心技术,当前最新版本是4.3,4.2的版本已经经是很新的了,所以非常值得大家一读,对于读完这篇文档感觉 ...
- ABP 教程文档 1-1 手把手引进门之 ASP.NET Core & Entity Framework Core(官方教程翻译版 版本3.2.5)
本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 官方文档分四部分 一. 教程文档 二.ABP 框架 三.zero 模块 四.其他(中文翻译资源) 本篇是第一部分的第一篇. 第一部分分三篇 1- ...
- ABP文档笔记 - 通知
基础概念 两种通知发送方式 直接发送给目标用户 用户订阅某类通知,发送这类通知时直接分发给它们. 两种通知类型 一般通知:任意的通知类型 "如果一个用户发送一个好友请求,那么通知我" ...
- Anakia 转换xml文档为其他格式
一.简介 Anakia 使用JDOM 和Velocity将XML文档转换为特定格式的文档 二.解析xml文档方法 1.DOM java jdk,xml-api.jar 需要加载整个xml文档来构建层次 ...
随机推荐
- el-table 宽度自适应bug
和 flex 一起使用的时候会有这个问题.只能自动变宽不能自动变窄. 在 flex-grow:1; 的那一层设置 overflow: auto;
- Fio工具详解【强大的IO性能压测工具】
Fio压测工具操作 fio -name=iouring_test -filename=/mnt/vdd/testfile -iodepth=128 -thread -rw=randread -ioen ...
- .Net 使用JWT验证接口
// jwt 的生成和接口的验证 // 需要使用的包 // 1. System.IdentityModel.Tokens.Jwt 生成 Token的 // 2. Microsoft.AspNetCor ...
- 从url地址获取主机名
function getHost(url) { var host = "null"; if(typeof url == "undefined"|| null = ...
- kotlin更多语言结构——>选择加入要求
1.3.70 中引入了 @RequireOptIn 与 @OptIn 注解以取代先前使用的 @Experimental 与 @UseExperimental;同时 -Xopt-in 编译器选项也取代了 ...
- Web渗透10_CSRF SSRF
1 CSRF漏洞 CSRF 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CS ...
- pandas的一些基本操作
Pandas 是一个开源的数据分析和操作库,它是 Python 编程语言的一个扩展.Pandas 提供了快速.灵活和表达能力强的数据结构,旨在使数据清洗和分析工作变得更加简单易行. 1.为什么要学习p ...
- C++之OpenCV入门到提高003:矩阵的掩膜(Mask)处理
一.介绍 今天是这个系列<C++之 Opencv 入门到提高>得第三篇文章.今天这篇文章也不难,主要介绍如何使用 Opencv 对图像进行掩膜处理,提高图像的对比度.在这个过程中,我们可以 ...
- 使用wxpython开发跨平台桌面应用,常用窗体布局BoxSizer,FlexGridSizer,GridBagSizer的介绍处理
我们在开发桌面应用的时候,不管是之前C#开发Winform的时候,还是现在使用wxpython来开发跨平台应用的时候,都需要了解布局的处理,wxpython的常用布局Sizer类,包括BoxSizer ...
- 【笔记】 STL容器
[笔记] STL容器 vector vector<int> v; v.push_back(x); v.emplace(x); v.size(); v.erase(v.begin(),v.b ...