Asynq 异步任务队列实现开源项目

我要开发同款
白开水不加糖2022年11月18日
99阅读
开发技术GO语言
所属分类Google Go、作业/任务调度、程序开发
授权协议MIT

作品详情

Asynq是一个Go库,用于排队任务并通过worker异步处理它们。它由Redis提供支持,旨在实现可扩展且易于上手。

Asynq工作原理的高级概述:

客户端将任务放入队列服务器从队列中拉取任务并为每个任务启动一个工作协程任务由多个worker同时处理任务队列用作跨多台机器分配工作的机制。一个系统可以由多个工作服务器和代理组成,让位于高可用性和水平扩展。

示例用例

特性

保证至少执行一次任务任务调度失败任务的重试工作人员崩溃时自动恢复任务加权优先级队列严格的优先队列添加任务的延迟低,因为Redis中的写入速度很快使用唯一选项对任务进行重复数据删除允许每个任务超时和截止日期允许聚合任务组以批处理多个连续操作支持中间件的灵活处理程序接口能够暂停队列以停止处理队列中的任务定期任务支持RedisCluster实现自动分片和高可用支持RedisSentinels以实现高可用性与Prometheus集成以收集和可视化队列指标用于检查和远程控制队列和任务的WebUICLI检查和远程控制队列和任务

稳定性和兼容性

状态:该库目前正在进行大量的开发工作,频繁的、破坏性的API变化。

重要提示:目前的主要版本是零(v0.x.x),以适应快速开发和快速迭代,同时获得用户的早期反馈(感谢对API的反馈!)。在v1.0.0版本发布之前,如果没有主要版本的更新,public API可能会发生变化。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论