diff --git a/README.md b/README.md index ddb1d372c510e7e2e7f9e98ec106897477a2eedf..8c80c71192819d10c70d3537938af2fee56e62a1 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ gitlab-workhorse'][brief-history-blog]. gitlab-workhorse [OPTIONS] Options: - -apiCiLongPolling duration + -apiCiLongPollingDuration duration Long polling duration for job requesting for runners (default 0s - disabled) -apiLimit uint Number of API requests allowed at single time diff --git a/internal/config/config.go b/internal/config/config.go index 7ba5796b4a1b5fc98f593a60fae9854883cf04e2..dfb5b4fdeb2c02f3adf9d1d913f015346b64f0b2 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -28,17 +28,17 @@ type RedisConfig struct { } type Config struct { - Redis *RedisConfig `toml:"redis"` - Backend *url.URL `toml:"-"` - Version string `toml:"-"` - DocumentRoot string `toml:"-"` - DevelopmentMode bool `toml:"-"` - Socket string `toml:"-"` - ProxyHeadersTimeout time.Duration `toml:"-"` - APILimit uint `toml:"-"` - APIQueueLimit uint `toml:"-"` - APIQueueTimeout time.Duration `toml:"-"` - APICILongPolling time.Duration `toml:"-"` + Redis *RedisConfig `toml:"redis"` + Backend *url.URL `toml:"-"` + Version string `toml:"-"` + DocumentRoot string `toml:"-"` + DevelopmentMode bool `toml:"-"` + Socket string `toml:"-"` + ProxyHeadersTimeout time.Duration `toml:"-"` + APILimit uint `toml:"-"` + APIQueueLimit uint `toml:"-"` + APIQueueTimeout time.Duration `toml:"-"` + APICILongPollingDuration time.Duration `toml:"-"` } // LoadConfig from a file diff --git a/internal/upstream/routes.go b/internal/upstream/routes.go index e2b8e122ee49d87e0949dcf51e0416c4f9022997..b279595bc9e4075e282cf7426db34a19522963e3 100644 --- a/internal/upstream/routes.go +++ b/internal/upstream/routes.go @@ -120,7 +120,7 @@ func (u *Upstream) configureRoutes() { uploadAccelerateProxy := upload.Accelerate(path.Join(u.DocumentRoot, "uploads/tmp"), proxy) ciAPIProxyQueue := queueing.QueueRequests(uploadAccelerateProxy, u.APILimit, u.APIQueueLimit, u.APIQueueTimeout) - ciAPILongPolling := builds.RegisterHandler(ciAPIProxyQueue, redis.WatchKey, u.APICILongPolling) + ciAPILongPolling := builds.RegisterHandler(ciAPIProxyQueue, redis.WatchKey, u.APICILongPollingDuration) u.Routes = []routeEntry{ // Git Clone diff --git a/main.go b/main.go index 4a3d0da1e3c8aad6bd8417103e45c656f9a9282b..866b21dca7690687487f24375d95b6e006b8ec1a 100644 --- a/main.go +++ b/main.go @@ -51,7 +51,7 @@ var secretPath = flag.String("secretPath", "./.gitlab_workhorse_secret", "File w var apiLimit = flag.Uint("apiLimit", 0, "Number of API requests allowed at single time") var apiQueueLimit = flag.Uint("apiQueueLimit", 0, "Number of API requests allowed to be queued") var apiQueueTimeout = flag.Duration("apiQueueDuration", queueing.DefaultTimeout, "Maximum queueing duration of requests") -var apiCiLongPolling = flag.Duration("apiCiLongPolling", 0, "Long polling duration for job requesting for runners (default 0s - disabled)") +var apiCiLongPollingDuration = flag.Duration("apiCiLongPollingDuration", 0, "Long polling duration for job requesting for runners (default 0s - disabled)") var logFile = flag.String("logFile", "", "Log file to be used") var prometheusListenAddr = flag.String("prometheusListenAddr", "", "Prometheus listening address, e.g. ':9100'") @@ -113,16 +113,16 @@ func main() { secret.SetPath(*secretPath) cfg := config.Config{ - Backend: backendURL, - Socket: *authSocket, - Version: Version, - DocumentRoot: *documentRoot, - DevelopmentMode: *developmentMode, - ProxyHeadersTimeout: *proxyHeadersTimeout, - APILimit: *apiLimit, - APIQueueLimit: *apiQueueLimit, - APIQueueTimeout: *apiQueueTimeout, - APICILongPolling: *apiCiLongPolling, + Backend: backendURL, + Socket: *authSocket, + Version: Version, + DocumentRoot: *documentRoot, + DevelopmentMode: *developmentMode, + ProxyHeadersTimeout: *proxyHeadersTimeout, + APILimit: *apiLimit, + APIQueueLimit: *apiQueueLimit, + APIQueueTimeout: *apiQueueTimeout, + APICILongPollingDuration: *apiCiLongPollingDuration, } if *configFile != "" {