关于 qstash-js
面向使用 QStash JavaScript SDK 的开发者,介绍 HTTP 消息发布与调度、队列管理及投递验证和失败处理,涵盖多种 JavaScript 运行环境。
主要功能
- 01向端点和 URL 组发布消息
- 02调度或延迟消息投递
- 03管理 FIFO 队列及并行度
- 04验证 Webhook 签名
- 05处理回调、DLQ 和去重
适用场景
- 01安排 HTTP 消息延后投递
- 02以受控并行度处理有序消息
- 03验证收到的 QStash Webhook
- 04通过 DLQ 恢复失败投递
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ upstash/ qstash-js --skill qstash-js安装后在 Claude Code 中输入/qstash-js确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
advanced/callbacks.mddeduplication.mddlq.mdadvanced/multi-region.md/summary.mdverify-multi-region-setup.tsfundamentals/publishing-messages.mdqueues-and-flow-control.mdschedules.mdurl-groups.mdverification/receiver.mdverification/platform-specific/nextjs.md详细介绍
QStash JavaScript SDK
QStash 是一种基于 HTTP 的消息传递和调度解决方案,适用于无服务器和边缘运行时。本技能可帮助你有效使用 QStash JS SDK。
何时使用此技能
在以下情况下使用此技能:
- 向端点或 URL 组发布 HTTP 消息
- 创建定时或延迟消息投递
- 管理可配置并行度的 FIFO 队列
- 验证来自 QStash 的传入 webhook 签名
- 实现回调、DLQ 处理或消息去重
快速开始
安装 SDK
npm install @upstash/qstash
基本发布
import { Client } from "@upstash/qstash";
const client = new Client({
token: process.env.QSTASH_TOKEN!,
});
const result = await client.publishJSON({
url: "https://my-api.example.com/webhook",
body: { event: "user.created", userId: "123" },
});
核心概念
有关 QStash 基本操作,请参阅:
有关验证传入消息的信息:
有关高级功能:
- 回调
- 死信队列(DLQ)
- 消息去重
- 区域迁移和多区域支持
- 如有需要,可使用多区域环境变量设置验证脚本。无需参数即可运行
平台支持
QStash JS SDK 可在各种平台上运行:
- Next.js(App Router 和 Pages Router)
- Cloudflare Workers
- Deno
- Node.js(v18+)
- Vercel Edge Runtime
- SvelteKit、Nuxt、SolidJS 和其他框架
工作流 SDK 说明: 若要构建将多条 QStash 消息串联起来的复杂持久化工作流,可考虑使用单独的 QStash Workflow SDK(
@upstash/workflow)。Workflow SDK 可帮助你编排多步骤流程,并自动管理状态、重试和容错。本技能文件聚焦于核心 QStash 消息传递 SDK。
最佳实践
- 始终使用 Receiver 类验证传入的 QStash 消息
- 使用环境变量存储令牌和签名密钥
- 根据使用场景设置合适的重试次数和超时时间
- 使用队列实现有序处理并控制并行度
- 实现 DLQ 处理,以便在消息失败时进行恢复
评论
支持 Markdown