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

简介: 【7月更文挑战17天】

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

image-1.png

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文件,并定义一个作业函数。例如:
    func MyJob(ctx context.Context, args ...interface{
         
         }) error {
         
         
        // 作业逻辑
        return nil
    }
    
  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/

image.png

相关文章
|
4月前
|
人工智能 Swift 决策智能
社区供稿 | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
在 2024 年 7 月 4 日的 WAIC 科学前沿主论坛上,上海人工智能实验室推出了书生·浦语系列模型的全新版本——InternLM2.5。
|
Cloud Native 安全 Anolis
免费、安全、可靠!一站式构建平台 ABS 介绍及实例演示 | 龙蜥技术
一文了解软件包构建、镜像构建、内核源码构建、云原生构建 4 大构建服务。
|
7月前
|
小程序 数据安全/隐私保护
极客SaaS框架开源包
听说后边要出saas去水印小程序 saas短视频去重小程序
62 2
|
7月前
|
存储 Linux 数据安全/隐私保护
Star 21.8k!推荐一款实用的免费开源局域网传输工具!轻松搭建网盘的神器!
Star 21.8k!推荐一款实用的免费开源局域网传输工具!轻松搭建网盘的神器!
120 1
|
运维 监控 Cloud Native
9k Star! 一款灵活、强大、易用的开源运维平台 ——Spug 原创 云原
运维平台是运维管理任务的重要组成部分,它主要负责监控系统的运行情况,及时发现系统的故障,其中包括性能分析、监控、故障诊断等。 同时,运维管理平台可以通过简单的操作完成系统的配置和更新,以及自动管理系统的日常运行。
372 0
|
NoSQL 关系型数据库 MySQL
[开源推荐]一款免费商用的开源培训系统
我们团队开源了一款开箱即用的线上培训系统PlayEdu,它基于Java开发,遵循Apache2.0开源协议在,支持免费商用。
761 0
[开源推荐]一款免费商用的开源培训系统
|
小程序 Linux API
强烈推荐一款自研支持全平台的免费内网穿透工具:i996.me
强烈推荐一款自研支持全平台的免费内网穿透工具:i996.me
305 0
|
人工智能 监控 算法
打造算法在线服务领域极致开发体验与性能 — 阿里TPP图化框架技术实践
TPP图化致力于打造一个算法在线服务领域易用、性能极致、迭代效率远超普通方式的产品。本文将介绍TPP图化以及2021年在性能、开发体验上的改进,并介绍未来TPP图化的规划。
打造算法在线服务领域极致开发体验与性能 — 阿里TPP图化框架技术实践
|
前端开发 小程序 API
期盼已久全平台支持-开源IM项目OpenIM之uniapp更新
期盼已久全平台支持-开源IM项目OpenIM之uniapp更新
686 0
|
JSON API 开发工具
即时通讯(IM)开源项目OpenIM重构版本发布- v2.0.0
OpenIM开发团队花费了2个月时间,加班加点对代码进行了局部重构,优化代码结构,规范代码开发流程,为社区未来深度参与开发打好基础
1577 0
即时通讯(IM)开源项目OpenIM重构版本发布- v2.0.0