#任务队列 #任务 #队列 #任务调度器 #调度器 #任务 #延迟

aide-de-camp

Aide-De-Camp是一个后端无关的延迟任务队列

2个不稳定版本

0.2.0 2022年12月18日
0.1.1 2022年5月22日
0.1.0 2022年5月22日

#797 in 异步

每月30次下载
用于 2 crates

MIT/Apache

41KB
802

Aide-De-Camp

💂 Aide-De-Camp


Zero Assumptions 建造

Aide-De-Camp是一个后端无关的延迟任务队列。与Ruby世界的girl_friday非常相似。

主要功能

  • 异步。从头开始使用async/await以实现最大并发性。
  • 后端无关[^1]。这个crate不会强迫您运行您不想要的任何额外软件。
  • 灵活的调度。现在运行您的任务,或相对于现在的时间,或在未来某个特定时间运行。
  • 二进制有效载荷。使用bincode序列化作业有效载荷,以实现最大速度和空间效率。
  • 并发限制。为每个运行程序指定所需的并发性。
  • 作业路由器。运行您想要的任何数量的作业类型,并限制哪些运行程序可以处理哪些作业。
  • 跨平台。在Rust有标准库的任何地方运行。
  • 可追踪。所有重要函数都进行了仪表化

入门

安装

选择一个适合您的后端[^1],并将以下内容添加到您的 Cargo.toml

# Cargo.toml

[dependencies]
aide-de-camp = "0.1.0"
aide-de-camp-sqlite = "0.1.0"  # Or any other avaiable backend

使用方法

aide-de-camp-sqlite提供了如何使用此crate的详细示例。

组件

  • 核心。用于Aide-De-Camp生态系统的特质和错误类型。
  • 运行程序。可选模块(默认启用runner功能)包含运行程序、作业路由器和它们工作所需的类型。

[^1]: 目前仅支持SQLite(aide-de-camp-sqlite),但PostgreSQL后端即将推出!

许可证

根据您的选择,许可如下

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在作品中的任何贡献,均应以上述方式双许可,不附加任何额外条款或条件。

依赖项

~5–15MB
~166K SLoC