这是一款go语言写的后台作业平台
river简介
River是一个基于Go和Postgres的高性能作业处理系统,旨在提供快速且可靠的后台作业处理能力。该项目通过鼓励使用相同的数据库来存储应用数据和作业队列,从而避免了分布式系统中的许多常见问题。
功能特点
高性能与可靠性 :River设计用于处理大量作业,同时保证作业的执行既快速又可靠。
与Postgres紧密集成 :River建立在Postgres之上,利用其强大的数据库功能来管理作业队列。
事务性作业入队 :可以将作业与其他数据库更改一起事务性地入队,这样可以在处理分布式系统时减少复杂性。
灵活的作业重试策略 :提供了灵活的作业重试策略,以应对可能出现的失败情况。
易于监控 :通过River UI,用户可以轻松监控和管理作业队列,无需直接查询数据库或使用命令行。
快速开始使用
安装 :首先,需要安装Go语言环境。然后,通过以下命令安装River:
go install github.com/riverqueue/river/cmd/river@latest
数据库迁移 :确保Postgres数据库正在运行,并执行以下命令来设置River所需的数据库结构:
river migrate-up --database-url "$DATABASE_URL"
编写作业 :创建一个Go文件,并定义一个作业函数。例如:
funcMyJob(ctx context.Context, args ...interface{})error {
// 作业逻辑
returnnil
}入队作业 :使用River客户端将作业入队以供执行:
client.Enqueue(MyJob, arg1, arg2)
启动工作器 :最后,启动River工作器来执行队列中的作业:
river work
通过以上步骤,您可以快速开始使用River来处理后台作业。更多详细信息和高级配置,请参考项目文档和官方示例。
总结 River项目是为需要高性能和可靠性的后台作业处理而设计的。它的紧密集成与Postgres,事务性作业入队,以及易于监控的特性,使其成为处理后台作业的理想选择。快速开始使用River,只需几个简单的步骤,即可将其集成到您的Go应用程序中。随着开源社区的支持和不断的更新,River有望成为Go后台作业处理的首选解决方案。
开源地址:https://github.com/riverqueue/river
官网:https://riverqueue.com/
最近整理了2023年最火的软件神器,回复关键字 2023合集 获取
推荐阅读 ⬇️ 都是高赞
PS:求求啦! 点 「 在看 」 支持下吧!