require 'rake'
desc “Show status of daemons” task :daemons => “daemons:status”
daemons_dir = Daemons::Rails.configuration
.daemons_directory
namespace :daemons do
%w[start stop status].each do |arg| desc "#{arg.capitalize} all daemons." task :"#{arg}" do puts `#{daemons_dir}/daemons #{arg}` end end
end
namespace :daemon do
Dir[daemons_dir.join('*_ctl')].each do |controller| app_name = controller.sub(/.*\/(\w+)_ctl/, '\1') desc "Start #{app_name} script" task app_name do FileUtils.cd daemons_dir do load "#{app_name}.rb" end end namespace app_name do %w[start stop restart status].each do |arg| desc "#{arg.capitalize} #{app_name} daemon." task :"#{arg}" do puts `#{controller} #{arg}` end end end end
end