Loading... # 服务器设计-事件回调 在一些特殊的时间出发之后,一些外部系统可以捕获到这些时间,以触发一些他们自己的功能。 # 详细设计 回调统一使用 POST 方法进行,当对方能够正确响应的时候,返回 http code 200,body 为任意值。当 http code 为非 200 的时候则认为 webhook 调用失败。 ## HTTP Methos **POST** ## HTTP Body content-type: application/json 格式为: ``` { context: { }, # content 内容为 webhook 的回调内容 timestamp: xxxx # UNIX 时间戳 } ``` # 支持的 webhooks |关键字|名称|内容|备注| |:---|:---|:---|:---| |component_new_version|组件新版本|当组件发布了一个新版本的时候触发该回调|| |application_new_version|应用新版本|当引用发布了一个新版本的时候触发该回调|| # Webhook 消费机制 因为 webhook 需要涉及到异步调用,因而 webhook 的调用全部放到后台队列当中。使用sidekiq进行异步调用。当有需要触发 webhook 的时候,将context压入 webhook 处理队列。然后 sidekiq 中增加处理job,依次处理这些任务。 最后修改:2020 年 11 月 17 日 02 : 11 PM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 ×Close 赞赏作者 扫一扫支付 支付宝支付 微信支付