upstash-qstash
构建无服务器消息队列和定时任务
无需管理基础设施即可实现可靠的无服务器消息传递。使用 Upstash QStash 调度基于 HTTP 的任务、定时作业和 Webhook 投递系统。
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“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 签名来验证投递情况。
安全审计
安全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.
质量评分
你能构建什么
调度定期数据库维护
设置重复性定时作业,以固定间隔触发数据库清理、备份操作或数据同步任务,无需管理服务器。
构建可靠的 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
使用 upstash-qstash,向我展示如何设置向 https://webhook.site/xxx 发送消息,包含签名验证和重试配置
使用 upstash-qstash 调度一条消息,在 30 分钟后投递到 https://api.example.com/process,并启用去重功能
最佳实践
- 始终使用两个签名密钥验证 QStash Webhook 签名,以认证传入请求
- 设计回调端点时需快速响应(30 秒内),以避免超时并实现正确确认
- 为关键操作使用去重功能,防止消息重试时重复处理
避免
- 不要在回调端点上跳过签名验证,因为这会让任何人都能向您的系统发送伪造消息
- 避免在消息中直接发送大型负载;应发送引用或 ID 以保持消息轻量
- 不要期望 QStash 在生产环境中能够访问 localhost 或私有网络端点