diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/initializers/timeout.rb | 8 | ||||
-rw-r--r-- | config/unicorn.rb.example | 20 |
2 files changed, 16 insertions, 12 deletions
diff --git a/config/initializers/timeout.rb b/config/initializers/timeout.rb deleted file mode 100644 index bc88595cf26..00000000000 --- a/config/initializers/timeout.rb +++ /dev/null @@ -1,8 +0,0 @@ -# Slowpoke extends Rack::Timeout to gracefully kill Unicorn workers so they can clean up state. -Slowpoke.timeout = 60 - -# The `Rack::Timeout` middleware kills requests after 60 seconds (as set above). -# We're replacing it with our `Gitlab::Middleware::Timeout` that does the same, -# except ignoring Git-over-HTTP requests, letting those take as long as they need. - -Rails.application.config.middleware.swap(Rack::Timeout, Gitlab::Middleware::Timeout) diff --git a/config/unicorn.rb.example b/config/unicorn.rb.example index 3aee718097f..86a5512e761 100644 --- a/config/unicorn.rb.example +++ b/config/unicorn.rb.example @@ -35,10 +35,22 @@ working_directory "/home/git/gitlab" # available in 0.94.0+ listen "/home/git/gitlab/tmp/sockets/gitlab.socket", :backlog => 1024 listen "127.0.0.1:8080", :tcp_nopush => true -# Kill workers after 1 hour. -# A shorter timeout of 60 seconds is enforced by rack-timeout for web requests. -# Git-over-HTTP only has the below timeout since large pulls/pushes can take a long time. -timeout 60 * 60 +# nuke workers after 30 seconds instead of 60 seconds (the default) +# +# NOTICE: git push over http depends on this value. +# If you want be able to push huge amount of data to git repository over http +# you will have to increase this value too. +# +# Example of output if you try to push 1GB repo to GitLab over http. +# -> git push http://gitlab.... master +# +# error: RPC failed; result=18, HTTP code = 200 +# fatal: The remote end hung up unexpectedly +# fatal: The remote end hung up unexpectedly +# +# For more information see http://stackoverflow.com/a/21682112/752049 +# +timeout 60 # feel free to point this anywhere accessible on the filesystem pid "/home/git/gitlab/tmp/pids/unicorn.pid" |