Project

General

Profile

Actions

Bug #8083

closed

WebHooks fail with Net::ReadTimeout

Added by Brétel Foudil almost 10 years ago. Updated almost 10 years ago.

Status:
Resolved
Priority:
High
Assigned To:
Brétel Foudil
Target version:
-
Start date:
09/23/2014
Due date:
% Done:

0%

Estimated time:

Description

Si un WebHook ou SystemWook met "trop" longtemps à répondre, gitlab/sidekiq interprète que le hook a échoue et le relance indéfiniment.


Related issues

Related to Gitlab - Task #8298: gestion des background jobs échouésClosed10/21/2014

Actions
Actions #1

Updated by Brétel Foudil almost 10 years ago

Comme indiqué https://github.com/gitlabhq/gitlabhq/issues/3794, j'ai essayé dans mon script PHP de répondre au plus tôt par

header("Status: 200");
header('Content-Type: text/html; charset=utf-8');
echo("OK"); flush(); ob_flush();

Mais l'output passant par le serveur web ne semble pas flushé (à moins que ce ne soit curl).

J'ai essayé de modifier en dur

# app/models/web_hook.rb
default_timeout 10

en le passant à 10000, mais rien n'y fait.

Le contournement consiste à lancer au plus vite un autre script pour effectuer le travail proprement dit.

Actions #2

Updated by Brétel Foudil almost 10 years ago

Accessoirement, les admin doivent vérifier la queue Retries dans Admin area > Background Jobs.

Actions #3

Updated by Brétel Foudil almost 10 years ago

  • Status changed from New to Resolved
  • Assigned To set to Brétel Foudil

La solution de contournement consiste à sortir rapidement du hook et confier les tâche lourdes à un process fils.

Actions #4

Updated by Brétel Foudil almost 10 years ago

La dernière version 7.2.3 ajoute un paramètre de configuration @webhook_timeout@ positionné à 120 secondes.

Actions #5

Updated by Brétel Foudil almost 10 years ago

  • Related to Task #8298: gestion des background jobs échoués added
Actions

Also available in: Atom PDF