@antelopejs/interface-redis-scheduler

中文文档
0.0.10发布于 2026/11/05Apache-2.0TypeScriptCommonJS构建来源已验证近 30 天下载 2832

AntelopeJS interface for scheduling tasks on Redis, with retries on failure

原始使用文档
文档目录8 节
  1. What it offers
  2. Implementations
  3. Install
  4. Quick start
  5. Documentation
  6. Compatibility
  7. Contributing
  8. License

@antelopejs/interface-redis-scheduler

npm License Discord Docs

Task scheduling on Redis for AntelopeJS. You schedule a task for a given time, and a listener in your application runs it when it is due, with up to three retries on failure.

What it offers

  • setHandler registers the function that runs one kind of task.
  • addTask schedules a task for a Unix timestamp in milliseconds. removeTask removes the queued entry before it runs.
  • enableListener starts task processing. disableListener closes only the notification subscriber, not the pending timer.
  • Tasks live in a Redis sorted set, so they survive application restarts and every instance of the application sees the same queue. Each due task goes to one listener.

Implementations

ModuleNotes
@antelopejs/redisAlso implements @antelopejs/interface-redis, which supplies the Redis client the scheduler uses

Install

Add the interface to the module that schedules tasks:

pnpm add @antelopejs/interface-redis-scheduler

Then add the implementation to the project:

ajs project modules add @antelopejs/redis

Quick start

import { Logging } from "@antelopejs/interface-core/logging";
import {
  addTask,
  disableListener,
  enableListener,
  setHandler,
} from "@antelopejs/interface-redis-scheduler";

const ONE_HOUR_MS = 60 * 60 * 1000;

setHandler("overdue-notice", async (taskInfo) => {
  const { memberId } = JSON.parse(taskInfo);
  Logging.Info(`Remind member ${memberId}`);
});

export async function start() {
  await enableListener();
  await addTask(
    "overdue-notice",
    Date.now() + ONE_HOUR_MS,
    JSON.stringify({ memberId: "M-1042" }),
  );
}

export async function stop() {
  await disableListener();
}

Register a handler before you schedule tasks for it. addTask rejects for a handler name that this process has not registered.

disableListener() is not a full shutdown or pause. A pending timer and running handlers can continue to process tasks. Read the lifecycle and delivery limits before you use it for shutdown.

Documentation

Compatibility

The module declares these peer dependencies:

PackageSupportedTested with
@antelopejs/interface-core>=0.2.4 <1.0.00.2.4
@antelopejs/interface-redis>=0.0.9 <1.0.00.0.9

Contributing

Read CONTRIBUTING.md before you open a pull request. The local checks are:

pnpm install
pnpm lint
pnpm test

License

Apache-2.0

版本与发布记录

@antelopejs/interface-redis-scheduler 共发布 9 个版本,首次发布于 2026/03/23;过去 12 个月发布了 9 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.10latest2026/11/053 天前
0.0.92026/10/2612 天前
0.0.82026/10/1721 天前
0.0.72026/07/213 个月前
0.0.62026/06/164 个月前
0.0.52026/06/124 个月前

关于 @antelopejs/interface-redis-scheduler 的常见问题

@antelopejs/interface-redis-scheduler 是什么?

AntelopeJS interface for scheduling tasks on Redis, with retries on failure

如何安装 @antelopejs/interface-redis-scheduler?

在项目目录运行 npm install @antelopejs/interface-redis-scheduler,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@antelopejs/interface-core(>=0.2.4 <1.0.0)、@antelopejs/interface-redis(>=0.0.9 <1.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@antelopejs/interface-redis-scheduler 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@antelopejs/interface-redis-scheduler 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@antelopejs/interface-redis-scheduler 可以商用吗?

@antelopejs/interface-redis-scheduler 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@antelopejs/interface-redis-scheduler 的下载量有多少?

根据 npm 官方下载统计,@antelopejs/interface-redis-scheduler 在 2026/10/06 – 2026/11/04 这 30 天内被下载 2,832 次,日均约 94 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@antelopejs/interface-redis-scheduler 还在维护吗?

最新版本 0.0.10 发布于 2026/11/05(3 天前);至今共发布 9 个版本,其中过去 12 个月发布了 9 个;首次发布于 2026/03/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。