gaffer-rs微批处理调度工具
gaffer 是 Rust 编写的微批处理调度工具,可优先级并行作业调度程序,具有并发排除、作业合并、重复作业和较低优先级的负载限制等功能。
特点
-
循环执行:作业将在某个时间间隔重新加入队列
-
作业队列:使用可克隆的
[JobRunner]
从各个不同的线程发送作业 -
Future Jobs:(可选)创建
Futures
以从作业中获取结果 -
作业优先级:为作业提供优先级,所有作业将按该优先级顺序执行
-
作业合并:合并队列中相同 / 相似的作业以减少工作量
-
并行执行:在多个线程上运行作业并锁定应该独占运行的作业,它们留在队列中,不占用其他资源
-
并发排除:基于键的锁定以避免不应并发运行的作业
-
优先级节流:为了让空闲线程准备好接收更高优先级的作业,通过将它们限制为较少数量的线程来限制较低优先级的作业
评论