基于 sqlx 和 PostgreSQL 的作业队列。

时间:2024-07-18 13:08:23
【文件属性】:

文件名称:基于 sqlx 和 PostgreSQL 的作业队列。

文件大小:34KB

文件格式:ZIP

更新时间:2024-07-18 13:08:23

sqlxmq

sqlxmq基于sqlx和PostgreSQL作业队列。该库允许 CRUD 应用程序运行后台作业,而不会使其部署复杂化。唯一的运行时依赖项是PostgreSQL ,因此这对于已经使用PostgreSQL数据库的应用程序来说是理想的。尽管使用 SQL 数据库作为作业队列意味着会降低交付作业的延迟,但普通作业队列中存在几个完全可以避免的显示停止问题。对于大多数其他作业队列,正在进行的作业是正常数据库备份未涵盖的状态。即使作业备份,有没有办法恢复这两个数据库和作业队列的一致点的时间,而无需手动解决冲突。通过将作业存储在数据库中,现有的备份程序将存储动态作业和持久数据的完全一致的状态。此外,作业可以作为其他事务的一部分生成和完成,从而可以轻松编写正确的应用程序代码。利用PostgreSQL的强大功能,此作业队列提供了其他作业队列中不存在的多项功能。特征一次发送/接收多个作业。这减少了对数据库的查询次数。发送要在未来日期和时间执行的作业。无需单独的调度系统。可靠地交付工作。使用指数退避自动重试。重试次数和初始退避参数是可配置的。事务性发送作业。避免在事务回滚时发送虚假作业。事务性完成作业。如果作


【文件预览】:
sqlxmq-master
----.gitignore(19B)
----README.md(6KB)
----LICENSE-MIT.txt(1023B)
----.github()
--------actions()
--------workflows()
----.env(59B)
----sqlxmq_stress()
--------.env(66B)
--------Cargo.toml(403B)
--------migrations()
--------src()
----Cargo.toml(1KB)
----sqlxmq_macros()
--------Cargo.toml(514B)
--------src()
----migrations()
--------20210316025847_setup.up.sql(9KB)
--------20210316025847_setup.down.sql(316B)
----src()
--------lib.rs(14KB)
--------spawn.rs(5KB)
--------registry.rs(4KB)
--------runner.rs(14KB)
--------utils.rs(899B)
--------hidden.rs(229B)
----LICENSE-APACHE.txt(11KB)

网友评论