Class: UsbunfreezeDaemon::Server
- Inherits:
-
Object
- Object
- UsbunfreezeDaemon::Server
- Defined in:
- lib/usbunfreeze_daemon/server.rb
Instance Attribute Summary collapse
-
#conf_path ⇒ Object
Returns the value of attribute conf_path.
-
#logger ⇒ Object
Returns the value of attribute logger.
Instance Method Summary collapse
Instance Attribute Details
#conf_path ⇒ Object
Returns the value of attribute conf_path.
13 14 15 |
# File 'lib/usbunfreeze_daemon/server.rb', line 13 def conf_path @conf_path end |
#logger ⇒ Object
Returns the value of attribute logger.
14 15 16 |
# File 'lib/usbunfreeze_daemon/server.rb', line 14 def logger @logger end |
Instance Method Details
#run ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/usbunfreeze_daemon/server.rb', line 16 def run @logger.info "Loading config from #{@conf_path}" Settings.source @conf_path @logger.info "Running with executable=#{Settings.exec_command}" sqs = AWS::SQS.new(access_key_id: Settings.sqs.access_key_id, secret_access_key: Settings.sqs.secret_access_key) raise 'No SQS object' unless sqs @logger.info "Get queue '#{Settings.sqs.queue_name}' ..." q = sqs.queues.named(Settings.sqs.queue_name) raise 'Cannot get queue' unless q raise 'Queue does not exist' unless q.exists? interval = [Settings.sqs.interval.to_i, AWS::SQS::Queue::DEFAULT_WAIT_TIME_SECONDS].max @logger.info "Start polling queue each #{interval} seconds" q.poll(:wait_time_seconds => interval) do |m| m end rescue => e @logger.error "Error:" + e. @logger.error e.backtrace.map{|s| "\t"+s}.join("\n") exit 1 end |