added EMBED_CLOCKWORK so users can embed clockwork scheduling inside another process

This commit is contained in:
Sam 2013-07-09 11:01:51 +10:00
parent e993d6b29b
commit 21bfb64a28
3 changed files with 24 additions and 2 deletions

@ -121,6 +121,18 @@ module Discourse
# So open id logs somewhere sane
config.after_initialize do
OpenID::Util.logger = Rails.logger
if ENV['EMBED_CLOCKWORK']
puts ">> Running clockwork in background thread"
require_relative "clock"
Thread.new do
Clockwork.run
end
end
end
end
end

@ -1,6 +1,8 @@
require 'clockwork'
require_relative 'boot'
require_relative 'environment'
unless ENV['EMBED_CLOCKWORK']
require_relative 'boot'
require_relative 'environment'
end
# These are jobs you should run on a regular basis to make your
# forum work properly.

@ -34,6 +34,14 @@ And you can try to set up following components manually on it:
- Run a clockwork process for enqueing scheduled jobs
- Run several Rails processes, preferably behind a proxy like Nginx.
---
# Low memory installs
- Clockwork can run inside your web server, if you launch the your web server with EMBED_CLOCKWORK=1,
clockwork will run in a backgroud thread. As clockwork itself only performs scheduling, it will have
very little impact on performance
[1]: https://github.com/discourse/discourse/blob/master/docs/INSTALL-ubuntu.md
[2]: https://github.com/discourse/discourse/blob/master/docs/HEROKU.md