是否可以重试所有失败的Webhook请求?

我这边在接收 webhook 请求和处理所需信息时遇到了问题。问题已修复,但如果能重新触发所有失败的请求,而不是逐个点击,那就太好了。
有没有什么方法可以实现?

2 个赞

嘿 Lucas,

只是为了确认一下,你说的“重新触发”请求是指 Redeliver 按钮吗?

是的,正是这个按钮。

但是我的问题是,是否存在一次性重新处理多个请求的方法。

1 个赞

我不知道有内置的方法。你可以创建一个自定义脚本来完成此操作:

  1. 通过 API,在 https://your-discourse.com/admin/api/web_hook_events/X.json 获取 webhook 事件列表
    其中 X 是你的 webhook ID。

  2. 该端点列出了最后 50 个事件。使用 offset 查询参数可以进一步查看列表。例如:
    https://your-discourse.com/admin/api/web_hook_events/1.json?offset=50

  3. 循环遍历每个返回的事件。对于每个事件,向 https://your-discourse.com/admin/api/web_hooks/2/events/XXX/redeliver 发送 POST 请求
    其中 XXX 是事件的 ID。

  4. 由于 API 速率限制,请在每次 API 调用之间至少等待几秒钟。

已测试并工作 :+1:

并感谢 @Lucas_Alves 教我 offset 参数 :slight_smile:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.