Hi Barnaby,
You CAN increase the timeout in config. In your
./app/controllers/umlaut_controller.rb, add a configuration for
'background_service_timeout', which is in seconds, defaults to 30.
But I think this is unlikely to be a good solution to your problem.
You probably don't want to make users wait more than 30 seconds for
a response. And there's no good reason they should have to --
there's probably some other problem creating this symptom, there's
no reason the background services should take longer than 30 seconds
to complete.
It may be that the services are dying entirely before completing,
which means no matter how high you set the timeout, they'll still
timeout, because they're actually dead not proceeding anymore.
(Which is one reason for the timeout).
For additional info, I'd check your application logs (normally in
./logs/production.log), grep for the strings "ERROR", and "FATAL",
do you get any more information about what might be going wrong?
Also, you can check the Umlaut admin interface's error reporting
console, to see if you can get any more information there. You have
to turn on the admin console and set password(s) for it though to
use it, information here:
https://github.com/team-umlaut/umlaut/wiki/Admin-Functions
One thing that might be relevant is your "pool" setting in your
./config/database.yml. Do you have a pool setting in your
database.yml, and if so what is it set to? The pool setting in
database.yml controls how many simultaneous connections your app
can make to the database. If you have a large number of services,
some of which may be misbehaving -- they may be running out of
database connections. If so, you should see error log lines
suggesting this in your log file.
Hope this gives you some places to start looking, please feel free
to let us know what you find and I'll provide additional advice if I
can,
Jonathan