你的 Webhook 处理程序会超时吗?

Slack 只等你的处理程序 3 秒,Shopify 等 5 秒,GitHub 等 10 秒。粘贴发送方投递的 URL,看看其中哪些会挂断。免费,无需注册。

我们会发送两个标记为测试的小 POST 请求,第二个紧跟在第一个之后,这样冷启动就会显现出来。如果这个 URL 会触发某些操作(一个 Zap、一封邮件),它会用测试数据运行。我们只保留主机名,不保留 URL。

每个发送方等多久

取自各平台的文档,核对于 2026-08-06。发送方没有及时收到 2xx,就会把这次投递算作失败,不管你的处理程序之后做了什么。

发送方等待时长投递失败之后
LINE2 sWebhook 重新投递,默认关闭(在频道的 Messaging API 设置中开启);次数和间隔未公开
Slack3 s重试 3 次:立即、1 分钟后、5 分钟后
Discord3 s针对交互的首次响应;可以先延迟(type 5),之后再回复未公布
Xero5 s未公布
Shopify5 s4 小时内重试 8 次
Paddle5 s生产环境:约 2 天内最多尝试 60 次,第一个小时内约 10 次,第一天内约 45 次。沙盒:约 2 分钟内尝试 3 次
HubSpot5 s最多尝试 10 次,分布在 24 小时内
GitHub10 s无。GitHub 不会自动重新传递投递失败的 Webhook
Twilio15 s可配置:rc 取 0 到 5,默认 1。rp 指定哪些失败可以重试

处理程序为什么变慢了

现在大多数机器人和自动化流程都会在 Webhook 处理程序里调用大模型:总结消息、起草回复、给订单分类。这要花几秒,有时几十秒,而上面这些发送方不会等。常见的解决办法是先返回 200,再从后台队列里处理工作,而这意味着你得运行一个队列。

AnyHook 就是那个不用写代码的队列。它约 1 秒应答发送方,然后在 Free 套餐上给你的处理程序最多 60 秒,失败了还会重试。你只需改一个 URL,代码里别的地方都不用动。完整指南,附 Next.js、Workers、Express 和 Python 的代码。