当前位置: 欣欣网 > 码农

2.4k star,快速、免费、可靠的一款开源产品

2024-07-07码农

这是一款go语言写的后台作业平台

demo1
demo

river简介

River是一个基于Go和Postgres的高性能作业处理系统,旨在提供快速且可靠的后台作业处理能力。该项目通过鼓励使用相同的数据库来存储应用数据和作业队列,从而避免了分布式系统中的许多常见问题。

功能特点

  • 高性能与可靠性 :River设计用于处理大量作业,同时保证作业的执行既快速又可靠。

  • 与Postgres紧密集成 :River建立在Postgres之上,利用其强大的数据库功能来管理作业队列。

  • 事务性作业入队 :可以将作业与其他数据库更改一起事务性地入队,这样可以在处理分布式系统时减少复杂性。

  • 灵活的作业重试策略 :提供了灵活的作业重试策略,以应对可能出现的失败情况。

  • 易于监控 :通过River UI,用户可以轻松监控和管理作业队列,无需直接查询数据库或使用命令行。

  • 快速开始使用

    1. 安装 :首先,需要安装Go语言环境。然后,通过以下命令安装River:

      go install github.com/riverqueue/river/cmd/river@latest

    2. 数据库迁移 :确保Postgres数据库正在运行,并执行以下命令来设置River所需的数据库结构:

      river migrate-up --database-url "$DATABASE_URL"

    3. 编写作业 :创建一个Go文件,并定义一个作业函数。例如:

      funcMyJob(ctx context.Context, args ...interface{})error {
      // 作业逻辑
      returnnil
      }

    4. 入队作业 :使用River客户端将作业入队以供执行:

      client.Enqueue(MyJob, arg1, arg2)

    5. 启动工作器 :最后,启动River工作器来执行队列中的作业:

      river work

    通过以上步骤,您可以快速开始使用River来处理后台作业。更多详细信息和高级配置,请参考项目文档和官方示例。

    总结 River项目是为需要高性能和可靠性的后台作业处理而设计的。它的紧密集成与Postgres,事务性作业入队,以及易于监控的特性,使其成为处理后台作业的理想选择。快速开始使用River,只需几个简单的步骤,即可将其集成到您的Go应用程序中。随着开源社区的支持和不断的更新,River有望成为Go后台作业处理的首选解决方案。

    开源地址:https://github.com/riverqueue/river

    官网:https://riverqueue.com/

    github-star

    最近整理了2023年最火的软件神器,回复关键字 2023合集 获取

    推荐阅读 ⬇️ 都是高赞

    PS:求求啦! 在看 支持下吧!