usbunfreeze_daemon 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bb3922050856fde416418880302b163f39d69388
4
- data.tar.gz: a9826eeafece63eea9a0f193167352bdfc2fe298
3
+ metadata.gz: 725ed494565429b5bbedd0da8452be558a38db42
4
+ data.tar.gz: 845b3b9a5e9800dc8d7a417cbfa496a360e9867f
5
5
  SHA512:
6
- metadata.gz: 0b85d0be43b8ae9a426886a52bb9dcf41ed1b7739a2cf632316389f8869cbdba1df91afb79466dd13f5b7f58309ae34ab0589f691d6de64d519f5fef77a48052
7
- data.tar.gz: c84e9549e4162dc140e7d2adf70cecab935af0964f1f20c2897403a4661cc1469367fa87ca669323be804282c0a92ec0a15efb84134b5a863bedff5cab826bf4
6
+ metadata.gz: 5478c8605e039f062954c7676dd86173d8eecef35fcc4143e642a85edbad48901c7472e463fecca8e5b47667bc57de72d922efd17063535d5afcd43e64554334
7
+ data.tar.gz: 2c17a37668e607b7e6c679d030505ad05dca4df165c3dc3ab1d47471780b353a98757dc5b9d382b49b7059537509f1a24c7c96c41288f324e38a3f672c0866d3
@@ -4,4 +4,5 @@ config:
4
4
  queue_name: usbunfreeze_queue
5
5
  access_key_id: YOURID
6
6
  secret_access_key: YOURKEY
7
- interval: 10
7
+ region: us-east-1
8
+ interval: 10
@@ -1,5 +1,5 @@
1
1
  require 'settingslogic'
2
- require 'aws-sdk-v1'
2
+ require 'aws-sdk'
3
3
  require 'json'
4
4
 
5
5
  module UsbunfreezeDaemon
@@ -19,20 +19,27 @@ module UsbunfreezeDaemon
19
19
 
20
20
  @logger.info "Running with executable=#{Settings.exec_command}"
21
21
 
22
- sqs = AWS::SQS.new(access_key_id: Settings.sqs.access_key_id,
23
- secret_access_key: Settings.sqs.secret_access_key)
22
+ sqs = Aws::SQS::Client.new(region: Settings.sqs.region,
23
+ access_key_id: Settings.sqs.access_key_id,
24
+ secret_access_key: Settings.sqs.secret_access_key)
24
25
  raise 'No SQS object' unless sqs
25
26
 
26
27
  @logger.info "Get queue '#{Settings.sqs.queue_name}' ..."
27
- q = sqs.queues.named(Settings.sqs.queue_name)
28
+ q = sqs.get_queue_url(queue_name: Settings.sqs.queue_name)
28
29
  raise 'Cannot get queue' unless q
29
- raise 'Queue does not exist' unless q.exists?
30
30
 
31
- interval = [Settings.sqs.interval.to_i, AWS::SQS::Queue::DEFAULT_WAIT_TIME_SECONDS].max
31
+ interval = [Settings.sqs.interval.to_i, 5].max
32
32
  @logger.info "Start polling queue each #{interval} seconds"
33
33
 
34
- q.poll(:wait_time_seconds => interval) do |m|
35
- handle_message m
34
+ while true do
35
+ sleep interval
36
+ messages = sqs.receive_message(queue_url: q.data.queue_url, wait_time_seconds: interval)
37
+ if not messages.messages.empty?
38
+ m = messages.messages.first
39
+ handle_message m
40
+ resp = sqs.delete_message(queue_url: q.data.queue_url, receipt_handle: m.receipt_handle)
41
+ @logger.info "Deleting message returned data: #{resp.data}" unless resp.data
42
+ end
36
43
  end
37
44
 
38
45
  rescue => e
@@ -46,11 +53,14 @@ module UsbunfreezeDaemon
46
53
  # Handle an incoming SQS message
47
54
  # Wrong message is not fatal error
48
55
  def handle_message m
49
- @logger.info "Get a messsage #{m.id}, received at #{Time.now}, sent at #{m.sent_timestamp}"
56
+ @logger.info "Get a messsage #{m.message_id}, received at #{Time.now}"
50
57
  @logger.info "Object body: #{m.body}"
51
58
  json = JSON.parse(m.body)
52
59
  action = json['message'].downcase
53
- if json['message'].downcase == 'unfreeze'
60
+ if json['timestamp']
61
+ @logger.info "Message was sent at #{json['timestamp']}"
62
+ end
63
+ if action == 'unfreeze'
54
64
  @logger.info "Launching a command"
55
65
  system(Settings.exec_command)
56
66
  @logger.info "Command execution code: #{$?}"
@@ -63,4 +73,4 @@ module UsbunfreezeDaemon
63
73
 
64
74
  end
65
75
 
66
- end
76
+ end
@@ -1,3 +1,3 @@
1
1
  module UsbunfreezeDaemon
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -22,6 +22,6 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency "rake", "~> 10.0"
23
23
  spec.add_runtime_dependency "daemons", "~> 1.1.0"
24
24
  spec.add_runtime_dependency "settingslogic", "~> 2.0.0"
25
- spec.add_runtime_dependency "aws-sdk-v1", "~> 1.60.0"
25
+ spec.add_runtime_dependency "aws-sdk", "~> 2"
26
26
  spec.add_runtime_dependency "json", "~> 1.8.0"
27
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: usbunfreeze_daemon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - theirix
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-08 00:00:00.000000000 Z
11
+ date: 2015-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -67,19 +67,19 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: 2.0.0
69
69
  - !ruby/object:Gem::Dependency
70
- name: aws-sdk-v1
70
+ name: aws-sdk
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.60.0
75
+ version: '2'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.60.0
82
+ version: '2'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: json
85
85
  requirement: !ruby/object:Gem::Requirement