server/bin/minicron-server
#!/usr/bin/env ruby
require 'insidious'
require_relative '../lib/minicron'
require Minicron::REQUIRE_PATH + 'cli'
require Minicron::REQUIRE_PATH + 'transport/server'
# Set the process name to something more useful
$PROGRAM_NAME = "minicron-server #{ARGV.join(' ')}"
begin
# Capture any output from STDERR so we can handle it how we want to
Minicron.capture_output(type: :stderr) do
# Run the CLI and pass it all arguments passed to us
Minicron::CLI.run(ARGV) do |output|
print output
STDOUT.flush
end
end
# Handle ctrl-c and other nasty interruptions
rescue Interrupt, SignalException
puts "\n[CONTROL] Exiting.."
# Stop the daemon if it's running i.e tidy up the pid file
insidious = Insidious.new(pid_file: Minicron.config['server']['pid_file'] || '/tmp/minicron.pid')
insidious.stop! if insidious.running?
# Accept failure
rescue Exception => e
$stderr.write("#{e.message}\n")
if Minicron.config['debug']
puts
raise e
end
exit(1)
end