lib/tasks_scheduler/daemon.rb in tasks_scheduler-0.0.6 vs lib/tasks_scheduler/daemon.rb in tasks_scheduler-0.0.7
- old
+ new
@@ -3,23 +3,13 @@
module TasksScheduler
class Daemon
ACTIONS = %w(status start stop restart).freeze
class << self
- def run(rails_root)
- dir = File.expand_path('tmp/pids', rails_root)
- FileUtils.mkdir_p(dir)
- Daemons.run_proc 'tasks_scheduler', dir_mode: :normal, dir: dir do
- require File.join(rails_root, 'config', 'environment')
- ::TasksScheduler::Checker.instance.run
- end
- end
-
def execute(action)
raise "Action not allowed: #{action} (Allowed: #{ACTIONS})" unless ACTIONS.include?(action)
command = ['bundle', 'exec', 'tasks_scheduler', action]
- env_args = { 'RAILS_ENV' => Rails.env }
Dir.chdir(Rails.root) do
Open3.popen3(env_args, *command) do |_stdin, stdout, stderr, wait_thr|
{ action: action, env_args: env_args.map { |k, v| "#{k}=#{v}" }.join(' | '),
command: command.join(' '), status: wait_thr.value.to_i, stdout: stdout.read,
stderr: stderr.read }
@@ -27,9 +17,13 @@
end
end
def running?
execute('status')[:status].zero?
+ end
+
+ def env_args
+ { 'RAILS_ENV' => Rails.env, ::TasksScheduler::Checker::LOG_ON_FILE_ENV_KEY => '1' }
end
end
end
end