mcpField
U
upstash-qstash-js

upstash-qstash-js

github.com/upstash開発342.3k 回インストール1 日前に更新
リポジトリ

upstash-qstash-js について

サーバーレスやエッジランタイムで HTTP メッセージを発行・管理する、QStash JavaScript SDK のスキルガイドです。スケジュール、キュー、Webhook 検証、配信失敗からの復旧を扱います。

主な機能

  1. 01HTTP メッセージの発行
  2. 02遅延配信のスケジュール
  3. 03FIFO キューの管理
  4. 04Webhook 署名の検証
  5. 05コールバックとデッドレター処理
  6. 06メッセージの重複排除

活用シーン

  1. 01エンドポイント通知のスケジュール
  2. 02キュー内メッセージの順次処理
  3. 03受信した QStash Webhook の検証
  4. 04配信に失敗したメッセージの復旧

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/upstash-qstash-jsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

advanced/
callbacks.md
deduplication.md
dlq.md
advanced/multi-region/
summary.md
verify-multi-region-setup.ts
fundamentals/
local-development.md
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 を効果的に利用する方法を説明します。

同梱ドキュメントとソースコード

SDK コードの作成やデバッグを行う前に、同梱ドキュメントがある場合は node_modules/@upstash/qstash/docs/ を、読みやすい TypeScript ソースコードがある場合は node_modules/@upstash/qstash/src/ を確認してください。関連ファイルがあれば、読み込んで検索してください。ない場合は、このスキルに記載されたリファレンスを使用してください。

このスキルを使用する場面

次のような場合に、このスキルを使用してください。

  • エンドポイントまたは 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 による検証 - 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、その他のフレームワーク

Workflow SDK に関する注意: 複数の QStash メッセージを連携させる複雑で永続的なワークフローを構築する場合は、別途提供されている QStash Workflow SDK(@upstash/workflow)の利用を検討してください。Workflow SDK を使うと、自動状態管理、リトライ、フォールトトレランスを備えた複数ステップのプロセスをオーケストレーションできます。この Skills ファイルでは、コアとなる QStash メッセージング SDK に焦点を当てています。

ベストプラクティス

  • Receiver クラスを使用して、QStash からの受信メッセージを必ず検証してください。
  • トークンと署名キーには環境変数を使用してください。
  • ユースケースに適したリトライ回数とタイムアウトを設定してください。
  • 並列処理数を制御しながら順序どおりに処理するには、キューを使用してください。
  • 失敗したメッセージを復旧できるよう、DLQ 処理を実装してください。

コメント