usbunfreeze_daemon 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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