G'day. This series of patches introduces the `delayed_job` gem to the Puppet Dashboard. This adds background process workers to the product, allowing us to defer long running, especially CPU intensive, work to a dedicated process rather than running them as part of the HTTP request.
This is especially noticeable in report submission from the Puppet Master, where we previously blocked the system until the report was fully committed to the database. Now we instead queue those, and import them in the background, allowing us to give an almost instant response to the Puppet Master. This should substantially improve throughput during busy periods, allowing a single master to service more requests with less resources. The one drawback is that, right now, you have to *manually* fire up the workers that run this stuff. We would like to do something smarter, but it is surprisingly hard to get auto-starting workers that run under Webrick, Passenger, and the other top level tools for running Rails apps. The documentation is up-to-date with this, but if you run a version of Puppet Dashboard past this series getting into master you will need to make that change for things to keep working. We might will add smarter things again, but not quite yet... Feedback welcome. Daniel -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
