Skip to content
GitLab
项目 群组 主题 代码片段
  • /
  • 帮助
    • 帮助
    • 支持
    • 社区论坛
    • 提交反馈
  • 登录
  • L large
  • 项目信息
    • 项目信息
    • 动态
    • 标记
    • 成员
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者统计
    • 分支图
    • 比较修订版本
  • 议题 21
    • 议题 21
    • 列表
    • 看板
    • 服务台
    • 里程碑
  • 合并请求 12
    • 合并请求 12
  • CI/CD
    • CI/CD
    • 流水线
    • 作业
    • 产物
    • 计划
  • 部署
    • 部署
    • 环境
    • 发布
  • 软件包与镜像库
    • 软件包与镜像库
    • 软件包库
    • 容器镜像库
    • Terraform 模块
    • 模型实验
  • 监控
    • 监控
    • 事件
  • 分析
    • 分析
    • 价值流
    • CI/CD
    • 仓库
  • Wiki
    • Wiki
  • 代码片段
    • 代码片段
  • 动态
  • 分支图
  • 创建新议题
  • 作业
  • 提交
  • 议题看板
收起侧边栏
  • 王权利
  • large
  • 议题
  • #2767

Process web hooks via queue

Created by: rlaneve

Currently, if a project has multiple web hooks and one fails, the rest are not processed. In version 4.0 and earlier, the failure of a web hook would fail the entire post-receive processing. The post-receive could be retried via the resque UI, but doing so would re-process the entire post-receive, including the creation of an events table entry, potentially updating a merge request, and re-firing all web hooks. As of 4.1 and the switch to sidekiq, the retry is automatic.

The suggested enhancement is to process web hooks the same way system hooks are processed: asynchronously via a dedicated queue. Doing so would stop an individual web hook failure from affecting any other web hooks, and allow for retrying a failed web hook with no other affects on the system (i.e., no more duplicate events table entries).

(pull request coming)

指派人
分配到
工时统计