seam-sidekiq 1.0.2 → 1.1.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 +4 -4
- data/lib/seam/sidekiq.rb +47 -8
- data/lib/seam/sidekiq/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a61a9f0a91398bef9f2100f1f46e7792bb2a3eb
|
4
|
+
data.tar.gz: fd74ccb2b2a998928f8ed98f00df43908cf94707
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d47cab22355cfffb8979a5bac1fcf7ac7db3fedca4a050c9846bfcd492e3b6253351031a55b470a88452afd631d71cb72258e6706d5c39833bc6993202176c90
|
7
|
+
data.tar.gz: a1161e82722ade69bc1880704d86e3dc885a922b0ccfbbd0e9ca24b504fc8a82261676e61e39961ee4fb2202c7b7f99d4bfde4650f9f6edc771323c699556621
|
data/lib/seam/sidekiq.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
require 'seam'
|
2
2
|
|
3
3
|
module Seam
|
4
|
+
|
4
5
|
module Sidekiq
|
6
|
+
|
5
7
|
def self.setup
|
6
8
|
::Seam::Worker.class_eval do
|
7
9
|
include ::Sidekiq::Worker
|
@@ -9,16 +11,53 @@ module Seam
|
|
9
11
|
def perform effort_id
|
10
12
|
effort = Seam::Effort.find effort_id
|
11
13
|
execute effort
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
14
|
+
::Seam::Sidekiq.fire_the_worker_for_the_next_step_of effort
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
::Seam::Flow.class_eval do
|
19
|
+
alias :the_default_start_for :start
|
20
|
+
def start(data = {})
|
21
|
+
effort = the_default_start_for data
|
22
|
+
::Seam::Sidekiq.fire_the_worker_for_the_next_step_of effort
|
23
|
+
effort
|
20
24
|
end
|
21
25
|
end
|
22
26
|
end
|
27
|
+
|
28
|
+
def self.fire_the_worker_for_the_next_step_of effort
|
29
|
+
return unless worker = the_next_worker_for(effort)
|
30
|
+
this_should_be_executed_in_the_future(effort) ?
|
31
|
+
execute_this_in_the_future(worker, effort) :
|
32
|
+
execute_this_now(worker, effort)
|
33
|
+
end
|
34
|
+
|
35
|
+
class << self
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def execute_this_in_the_future worker, effort
|
40
|
+
worker.class.perform_in time_until(effort), effort.id
|
41
|
+
end
|
42
|
+
|
43
|
+
def execute_this_now worker, effort
|
44
|
+
worker.class.perform_async effort.id
|
45
|
+
end
|
46
|
+
|
47
|
+
def the_next_worker_for effort
|
48
|
+
Seam::Worker.handler_for effort.next_step
|
49
|
+
end
|
50
|
+
|
51
|
+
def time_until effort
|
52
|
+
effort.next_execute_at - Time.now
|
53
|
+
end
|
54
|
+
|
55
|
+
def this_should_be_executed_in_the_future effort
|
56
|
+
effort.next_execute_at > Time.now
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
23
61
|
end
|
62
|
+
|
24
63
|
end
|
data/lib/seam/sidekiq/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: seam-sidekiq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darren Cauthon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: seam
|