mcpField
Q
qstash-js

qstash-js

github.com/upstash云与 DevOps27163 次安装1 天前更新
代码仓库

关于 qstash-js

面向使用 QStash JavaScript SDK 的开发者,介绍 HTTP 消息发布与调度、队列管理及投递验证和失败处理,涵盖多种 JavaScript 运行环境。

主要功能

  1. 01向端点和 URL 组发布消息
  2. 02调度或延迟消息投递
  3. 03管理 FIFO 队列及并行度
  4. 04验证 Webhook 签名
  5. 05处理回调、DLQ 和去重

适用场景

  1. 01安排 HTTP 消息延后投递
  2. 02以受控并行度处理有序消息
  3. 03验证收到的 QStash Webhook
  4. 04通过 DLQ 恢复失败投递

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/upstash/qstash-js --skill qstash-js

安装后在 Claude Code 中输入/qstash-js确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

advanced/
callbacks.md
deduplication.md
dlq.md
advanced/multi-region.md/
summary.md
verify-multi-region-setup.ts
fundamentals/
publishing-messages.md
queues-and-flow-control.md
schedules.md
url-groups.md
verification/
receiver.md
verification/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 基本操作,请参阅:

有关验证传入消息的信息:

  • 接收方验证 - 使用 Receiver 类进行核心签名验证
  • 特定平台的验证器:
    • Next.js - App Router、Pages Router 和 Edge Runtime

有关高级功能:

平台支持

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