工程开发
qstash-js avatar

qstash-js

使用官方 Upstash QStash JavaScript/TypeScript SDK 来管理无服务器消息传递、任务调度与 Webhook 验证。

简介

QStash JavaScript SDK 是开发者在无服务器与边缘计算平台上构建事件驱动应用程序的强大工具。它作为一个基于 HTTP 的稳健消息代理,让您能解耦服务、调度延迟或周期性的后台任务,并在 Vercel、Cloudflare Workers、Next.js 和 Node.js 等环境中管理复杂的消息传递流程。通过集成 QStash,您无需自行维护复杂的底层基础设施,即可仰赖此无状态服务处理重试、投递保证与消息持久化。

  • 发送 HTTP 请求到特定端点或托管的 URL 分组,以简化路由管理。

  • 为定期事件或延迟消息传递创建灵活的任务调度。

  • 实现具备可配置并行处理能力的 FIFO 队列,以控制高吞吐量的工作负载。

  • 使用 Receiver 类通过加密签名验证传入的 Webhook 请求,确保端点仅处理受信任的流量。

  • 支持高级消息传递模式,包括死信队列 (DLQ)、自动消息去重以及异步结果的自定义回调处理。

  • 轻量化设计,原生支持边缘运行环境 (Edge Runtimes) 及各类现代框架,如 SvelteKit、Nuxt 与 SolidJS。

  • 若要开始使用,请使用您的 QSTASH_TOKEN 初始化客户端,并使用 publishJSON 等方法发送数据。

  • 务必在处理函数中实现 Receiver.verify 来验证传入的 Webhook 签名,以确保安全性。

  • 利用 URL 分组功能高效管理多个下游目标,无需频繁更新应用程序代码。

  • 请注意此 SDK 与 @upstash/workflow 库不同;请针对消息传递与调度任务使用此 SDK,若需复杂的多步骤状态编排,请改用 Workflow。

  • 确保环境配置包含正确的签名密钥(当前与下一个密钥),以利于无停机的轮换作业。

  • 遥测数据默认开启;若要禁用,可设置 UPSTASH_DISABLE_TELEMETRY 环境变量或在客户端选项中进行配置。

仓库统计

Star 数
265
Fork 数
29
Open Issue 数
11
主要语言
TypeScript
默认分支
main
同步状态
空闲
最近同步时间
2026年5月3日 17:50
在 GitHub 查看