Skip to content

Latest commit

 

History

History
47 lines (43 loc) · 3.35 KB

File metadata and controls

47 lines (43 loc) · 3.35 KB
pageType custom
title Queuebit
description 基于 Redis 的 Node.js 持久化批处理 SDK,让长任务按页执行、记录进度,并在失败后重试。

基于 Redis 的 Node.js 批处理 SDK

长任务,
一页一页稳步推进。

把回执生成、数据同步等批量工作拆成连续的页。你负责读取业务快照和幂等写入,Queuebit 负责记录 Run、推进 state、重试失败页并交付完成回调。

Node.js ≥ 22 · Redis ≥ 7.2 · npm install queuebit · TypeScript 类型支持

一份回执快照示例流程
  1. 01用 query 固定要处理的快照snapshotId
  2. 02按 state 读取下一页订单afterSourceId
  3. 03写入稳定键的业务回执putOnce()
  4. 04提交进度或结束并发通知next/end + callback
6 笔订单可读样例
2 条 / 页演示分页
独立回调单独核对交付

从业务处理,到可查询的运行记录

不需要先搭建一套调度平台。从一个进程开始,再按需要拆分生产者与消费者。

定义任务

queue.define() 声明名称、版本、事件和处理函数。定义完成后再 ready(),避免运行时定义漂移。

推进运行

每页先完成业务写入,再返回 ctx.next() 提交游标;读到空页时返回 ctx.end()

核对结果

通过 BatchTask.get() 查看状态与进度。Run 成功和回调送达是两件事,需要分别观察。

适合这样的工作

  • 按稳定快照或游标分批生成回执
  • 需要保存分页进度的数据同步
  • 需要查询、重试与回调的长任务

接入前,先了解边界

  • 它是应用内 SDK,不是通用消息平台
  • 至少一次执行;不自动消除外部副作用
  • 取消和关闭采用协作机制,不回滚业务写入
Queuebit · 中文文档 · 先从 npm 用户路径理解接入运行第一个任务 →