Don't forget to lycansubscribe
1#!/usr/bin/env ruby
2
3require 'bundler/setup'
4require_relative '../app/import_worker'
5require_relative '../app/reports/simple_logger'
6
7$stdout.sync = true
8
9if ENV['ARLOG'] == '1'
10 ActiveRecord::Base.logger = Logger.new(STDOUT)
11else
12 ActiveRecord::Base.logger = nil
13end
14
15def print_help
16 puts "Usage: #{$0} [options...]"
17 puts "Options:"
18 puts " -v = verbose"
19end
20
21logger = SimpleLogger.new
22worker = ImportWorker.new
23worker.logger = logger
24
25args = ARGV.dup
26
27while arg = args.shift
28 case arg
29 when '-v', '--verbose'
30 worker.verbose = true
31 when '-h', '--help'
32 print_help
33 exit 0
34 else
35 puts "Unrecognized option: #{arg}"
36 print_help
37 exit 1
38 end
39end
40
41trap("SIGINT") {
42 puts
43 puts "[#{Time.now}] Stopping..."
44 exit
45}
46
47trap("SIGTERM") {
48 puts "[#{Time.now}] Shutting down the service..."
49 exit
50}
51
52puts "[#{Time.now}] Starting background worker..."
53worker.run