#task-queue #postgresql #sqlx #distributed #table #persistent #worker

bin+lib pg-taskq

为 Rust 开发的基于 postgres 的简单分布式和持久化任务队列

2 个不稳定版本

0.3.0 2023年10月7日
0.2.0 2023年5月18日

#2786 in 数据库接口

MIT 许可证

57KB
1.5K SLoC

pg-taskq

pg-taskq 是一个简单的基于 postgres 的分布式任务队列。它是

  • 可插拔的:可以在自定义模式和自定义表名下安装,也可以轻松卸载
  • 简单的:在 postgres 中有 1 个表,1 个视图,2 个 plpgsql 函数。在 Rust 中有任务和工作接口
  • 异步的:使用 tokio
  • 双向的:任务可以轻松等待被处理,生成输出
  • 分层结构的:任务可以有子任务,这些子任务将自动从下往上处理

我制作了这个工具是为了满足我自己的需求,即拥有一个灵活、持久和分布式的任务队列,用于各种长时间运行的处理任务,而无需维护额外的服务和基础设施。这个工具可能不适合生产环境,也没有经过实战测试——请自行承担风险。

有关工作生产者示例,请参阅 此项目

许可证:MIT


lib.rs:

pg-taskq 是一个简单的基于 postgres 的分布式任务队列。它是

  • 可插拔的:可以在自定义模式和自定义表名下安装,也可以轻松卸载
  • 简单的:在 postgres 中有 1 个表,1 个视图,2 个 plpgsql 函数。在 Rust 中有任务和工作接口
  • 异步的:使用 tokio
  • 双向的:任务可以轻松等待被处理,生成输出
  • 分层结构的:任务可以有子任务,这些子任务将自动从下往上处理

我制作了这个工具是为了满足我自己的需求,即拥有一个灵活、持久和分布式的任务队列,用于各种长时间运行的处理任务,而无需维护额外的服务和基础设施。这个工具可能不适合生产环境,也没有经过实战测试——请自行承担风险。

有关工作生产者示例,请参阅 此项目

依赖项

~60MB
~1M SLoC