fanforce-workers 0.3.5 → 0.4.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,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