fanforce-workers 0.3.5 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NjczNmI0OGI4MDY3NGY0OTk2YTVjNWMwOTRlMTkxYmIzZDdjZDViZg==
4
+ YWJjZTQzZjRkYWY0NTBkYTU1NTIyZmRlYzNkMGEyMWZjYjVjMThlMQ==
5
5
  data.tar.gz: !binary |-
6
- MjRkNTM0NjJlNDc0N2ViODU0NWVjZWZhNTQyY2UxMzBkOTU4ZTk2MQ==
6
+ MzQzZDlkOTlhYjI1ZDg0ZGMzNGNlY2QyOGU1NTc3NTk0Y2M3ODYwYw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MjY2Mjg5YThlM2M0MGYyMzIzYTEzM2QxMGUzMGMwYmQ5MmZlNTFhOGU3OTkw
10
- MWJkZjgwMzVmMjdmYzMyY2ZiM2I2YTQ5MzdlZGM1MzUzZmJhYmNmODZjYzFm
11
- Nzg1N2RmMWVmOTY3ZGVmYTYwMThmMmU2YWQzZTVkNDlmYTJmNmI=
9
+ NWFkYzE2MzliZjhmNWU3MjFjZjUyMGMyNjEwMmQzNmI4YWIyZDJjM2RiYTg1
10
+ YmVhZGZmYTJkOTBjMDZiZGIyMGI4N2UzZjM3MWJmYzUzZjk0YTgxZDNjNmYz
11
+ NWY2ZjRiYTcyNmVhODcxYjQxNjY4MmI2ZTUxNTk2YzJlMWJkMDE=
12
12
  data.tar.gz: !binary |-
13
- NDAzMzU2OTRiYTRjZDhjN2Q1ZjQwMzYwNDM0MWY4OTI0ZTQ4ZDY1ODJkYmNl
14
- ZDU2YjI1YjIxMzZjZTRmYzY0NDc0MTg2ODE0M2FhNmJkMDVlZmZkYjRlZGM4
15
- YzViMGQzY2NhNmU5OWU1YWNhM2UwODBkYjhiY2I3YmFhNjBjODY=
13
+ OGFiNjRmZjI0MDFlMjU2ODg5YTYwODk3YWEwZWIzNjlkMjA1NDRiY2I0Mzcx
14
+ NWNkMTgzOTcwNjdlNGYzNGI0MTViYTZiYTVmMjJlZDNhMmFlYTkxNzczNWYy
15
+ NTBhMDVlYjQ0OTlmOWFkMTExZWE5OTg2MDFjMDM0N2Q2YmMxNjQ=
@@ -4,8 +4,12 @@ class Fanforce::Workers::Iron
4
4
  @iron_mq = IronMQ::Client.new(:token => opts[:token] || ENV['IRON_TOKEN'], :project_id => opts[:project_id] || ENV['IRON_PROJECT_ID'])
5
5
  end
6
6
 
7
- def queue(queue_id, payload)
7
+ def enqueue(queue_id, payload)
8
8
  @iron_mq.queue(queue_id).post(payload.to_json)
9
9
  end
10
10
 
11
+ def client
12
+ @iron_qa
13
+ end
14
+
11
15
  end
@@ -1,5 +1,5 @@
1
1
  class Fanforce
2
2
  module Workers
3
- VERSION = '0.3.5'
3
+ VERSION = '0.4.0'
4
4
  end
5
5
  end
@@ -1,17 +1,29 @@
1
1
  require 'iron_mq'
2
2
 
3
- module Fanforce::Workers
4
- extend Fanforce::Workers
5
- def self.included(base) base.extend(self) end
3
+ class Fanforce::Workers
6
4
 
7
- def iron(opts={})
5
+ def initialize(opts={})
6
+ @opts = opts
7
+ end
8
+
9
+ def iron
8
10
  require_relative 'iron'
9
- @iron ||= Fanforce::Workers::Iron.new(opts)
11
+ @iron ||= Fanforce::Workers::Iron.new(@opts)
12
+ end
13
+
14
+ def self.enqueue(queue_id, payload)
15
+ self.new.enqueue(queue_id, payload)
10
16
  end
11
17
 
12
- def queue_task(queue_id, payload)
18
+ def enqueue(queue_id, payload)
13
19
  raise 'Payload being sent to the queue must be a Hash' if !payload.is_a?(Hash)
14
- iron.queue queue_id, params: payload, retries: 0
20
+ iron.enqueue queue_id, params: payload, retries: 0
21
+ end
22
+
23
+ def retry_error(queue_id, msg_id)
24
+ msg = iron.client.queue(queue_id + '-ERRORS').get(msg_id)
25
+ data = MultiJson.load(msg.body, :symbolize_keys => true)
26
+ iron.enqueue queue_id, params: data[:params], retries: data[:params] + 1
15
27
  end
16
28
 
17
29
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fanforce-workers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Caleb Clark