Our redmine server is not responding due to connecting it to a large repository. It has not crashed but it's just busy until it checks it out, or whatever redmine does when you set a new repo for a project. What is surprisning is that this operation is not running int the background but blocking the server.

Is there any way to have redmine to this in the background next time we connect a large repo?

2 Answers
2

As far as I know, there's no way to background the task from the web interface, but you can run the following from the command line periodically (i.e. from cron) to limit the impact on your web users:

rake redmine:fetch_changesets RAILS_ENV=production

However, it sounds like you're only running one application server process (Mongrel?) to service all of your requests, which would be the real bottleneck in your environment. Have you considered running a farm of Mongrel/Thin/Unicorn servers in the background and load-balancing between them, or using an alternate deployment mechanism like Passenger?

Using Rake tasks is a good place to start. But it is better to use it together with the disabled option "Fetch commits automatically".
Even if the rake task already fetches commits, if some user go to the repository tab of some project, redmine seems to start fetching commits from the web application.