技能 upstash-qstash
📦

upstash-qstash

安全

构建无服务器消息队列和定时任务

无需管理基础设施即可实现可靠的无服务器消息传递。使用 Upstash QStash 调度基于 HTTP 的任务、定时作业和 Webhook 投递系统。

支持: Claude Codex Code(CC)
🥉 75 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“upstash-qstash”。 向 https://api.example.com/webhook 发送带有数据的消息

预期结果:

消息已成功发布到 QStash。消息 ID:msg_1234567890。消息将被投递到 https://api.example.com/webhook,支持自动重试。请使用 QStash 签名密钥在您的端点中设置签名验证。

正在使用“upstash-qstash”。 创建一个每小时运行的定时作业

预期结果:

定时作业已创建,调度计划:* * * * *。端点:https://api.example.com/cron。作业将在每小时整点运行。您可以通过检查请求头中的 QStash 签名来验证投递情况。

安全审计

安全
v1 • 2/25/2026

Static analysis detected 9 potential security issues, all are false positives. Line 69 contains markdown code formatting (backticks around skill names), not shell execution. Lines 3, 59, and 72 contain the word 'critical' in documentation text, not weak cryptographic algorithms. This is a pure documentation file with no executable code. Safe to publish.

1
已扫描文件
73
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
100
规范符合性

你能构建什么

调度定期数据库维护

设置重复性定时作业,以固定间隔触发数据库清理、备份操作或数据同步任务,无需管理服务器。

构建可靠的 Webhook 投递

实现 Webhook 投递系统,自动重试失败的投递并验证签名,确保消息能够送达目标端点。

延迟重型处理任务

使用延迟调度功能,将视频处理或报告生成等资源密集型操作调度到非高峰时段运行。

试试这些提示

发送简单消息
使用 upstash-qstash skill 向我的端点 https://api.example.com/tasks 发送消息,负载为 {"task": "process-order", "orderId": 12345}
调度定时作业
帮我设置一个 QStash 定时作业,使用 upstash-qstash skill 每天 UTC 时间凌晨 2 点调用 https://myapp.com/cron/cleanup
配置 Webhook 投递
使用 upstash-qstash,向我展示如何设置向 https://webhook.site/xxx 发送消息,包含签名验证和重试配置
实现延迟处理
使用 upstash-qstash 调度一条消息,在 30 分钟后投递到 https://api.example.com/process,并启用去重功能

最佳实践

  • 始终使用两个签名密钥验证 QStash Webhook 签名,以认证传入请求
  • 设计回调端点时需快速响应(30 秒内),以避免超时并实现正确确认
  • 为关键操作使用去重功能,防止消息重试时重复处理

避免

  • 不要在回调端点上跳过签名验证,因为这会让任何人都能向您的系统发送伪造消息
  • 避免在消息中直接发送大型负载;应发送引用或 ID 以保持消息轻量
  • 不要期望 QStash 在生产环境中能够访问 localhost 或私有网络端点

常见问题

什么是 Upstash QStash?
QStash 是一项无服务器消息队列和调度服务,可可靠地将 HTTP 请求投递到您的端点。您向 QStash 发送消息,它负责处理投递、重试和调度。
如何验证 Webhook 签名?
从 Upstash-Signature 请求头中提取签名,使用您的 QStash 签名密钥进行验证,并拒绝签名无效的请求。轮换期间务必同时使用当前和下一个签名密钥。
可以向 localhost 端点发送消息吗?
不,QStash 在生产环境中无法访问 localhost 或私有网络端点。您的回调端点必须是公开可访问的。请使用 ngrok 等工具进行本地开发测试。
如果我的端点宕机了怎么办?
QStash 会自动使用指数退避策略重试失败的投递。您可以配置自定义重试行为,并设置失败回调以处理无法投递的消息。
消息去重是如何工作的?
当您使用去重密钥启用去重功能时,QStash 确保仅处理具有该密钥的一条消息。这可以防止重试期间重复执行关键操作。
速率限制是什么?
速率限制取决于您的 QStash 套餐层级。请查看您的套餐文档了解具体的每日消息数和每秒请求数限制。在代码中实现退避处理。

开发者详情

文件结构

📄 SKILL.md