sidekiq-hierarchy 0.1.2 → 0.1.3
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/.gitignore +1 -0
- data/CHANGELOG.md +5 -0
- data/lib/sidekiq/hierarchy/faraday/middleware.rb +4 -2
- data/lib/sidekiq/hierarchy/rack/middleware.rb +4 -2
- data/lib/sidekiq/hierarchy/server/middleware.rb +2 -1
- data/lib/sidekiq/hierarchy/version.rb +1 -1
- data/lib/sidekiq/hierarchy/web.rb +8 -8
- data/web/views/status.erb +6 -3
- data/web/views/workflow_set.erb +2 -0
- 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: 9f9e018911b28e3e2676fe129484f15e109a68f7
|
4
|
+
data.tar.gz: 920d077b333de9929a2319f714c74137dd63fc29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 566190836db128a3a3e86d166eb43b4fba29412e35f9c6103751e8460d2cfb982621a9ba3acf98d4253b18935982b42536c6de0ec98fd462c3a51f31d36191ca
|
7
|
+
data.tar.gz: ce89fe04d64f1785e8af2a305b41b1e870dfc7e02d44152f802ff6621175e2e92ab318d1535e8d563d9f37c491c934da5aa0d7ed9275d3fe7571e48c38485332
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,11 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
+
## [0.1.3] - 2015-11-19
|
6
|
+
### Changed
|
7
|
+
- Fixed workflow-enabled jobs spawned by untracked jobs, which should therefore be considered roots on their own
|
8
|
+
- Modified web view to display total size of each workflow set
|
9
|
+
|
5
10
|
## [0.1.2] - 2015-11-17
|
6
11
|
### Changed
|
7
12
|
- Fixed compatibility with older Sidekiq/middleware versions that don't support alternate redis pools
|
@@ -6,8 +6,10 @@ module Sidekiq
|
|
6
6
|
module Faraday
|
7
7
|
class Middleware < ::Faraday::Middleware
|
8
8
|
def call(env)
|
9
|
-
|
10
|
-
|
9
|
+
if Sidekiq::Hierarchy.current_workflow && Sidekiq::Hierarchy.current_jid
|
10
|
+
env[:request_headers][Sidekiq::Hierarchy::Http::JID_HEADER] = Sidekiq::Hierarchy.current_jid
|
11
|
+
env[:request_headers][Sidekiq::Hierarchy::Http::WORKFLOW_HEADER] = Sidekiq::Hierarchy.current_workflow.jid
|
12
|
+
end
|
11
13
|
@app.call(env)
|
12
14
|
end
|
13
15
|
end
|
@@ -14,8 +14,10 @@ module Sidekiq
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def call(env)
|
17
|
-
|
18
|
-
|
17
|
+
if env[WORKFLOW_HEADER_KEY] && env[JID_HEADER_KEY]
|
18
|
+
Sidekiq::Hierarchy.current_jid = env[JID_HEADER_KEY]
|
19
|
+
Sidekiq::Hierarchy.current_workflow = Workflow.find_by_jid(env[WORKFLOW_HEADER_KEY])
|
20
|
+
end
|
19
21
|
@app.call(env)
|
20
22
|
ensure
|
21
23
|
Sidekiq::Hierarchy.current_workflow = nil
|
@@ -14,10 +14,11 @@ module Sidekiq
|
|
14
14
|
def call(worker, msg, queue)
|
15
15
|
if msg['workflow'] == true # root job -- start of a new workflow
|
16
16
|
Sidekiq::Hierarchy.current_workflow = Workflow.find_by_jid(worker.jid)
|
17
|
+
Sidekiq::Hierarchy.current_jid = worker.jid
|
17
18
|
elsif msg['workflow'].is_a?(String) # child job -- inherit parent's workflow
|
18
19
|
Sidekiq::Hierarchy.current_workflow = Workflow.find_by_jid(msg['workflow'])
|
20
|
+
Sidekiq::Hierarchy.current_jid = worker.jid
|
19
21
|
end
|
20
|
-
Sidekiq::Hierarchy.current_jid = worker.jid
|
21
22
|
|
22
23
|
Sidekiq::Hierarchy.record_job_running
|
23
24
|
ret = yield
|
@@ -61,13 +61,13 @@ module Sidekiq
|
|
61
61
|
end
|
62
62
|
|
63
63
|
app.get '/hierarchy/?' do
|
64
|
-
running_set = RunningSet.new
|
65
|
-
complete_set = CompleteSet.new
|
66
|
-
failed_set = FailedSet.new
|
64
|
+
@running_set = RunningSet.new
|
65
|
+
@complete_set = CompleteSet.new
|
66
|
+
@failed_set = FailedSet.new
|
67
67
|
|
68
|
-
@running = running_set.each.take(PER_PAGE)
|
69
|
-
@complete = complete_set.each.take(PER_PAGE)
|
70
|
-
@failed = failed_set.each.take(PER_PAGE)
|
68
|
+
@running = @running_set.each.take(PER_PAGE)
|
69
|
+
@complete = @complete_set.each.take(PER_PAGE)
|
70
|
+
@failed = @failed_set.each.take(PER_PAGE)
|
71
71
|
|
72
72
|
erb sidekiq_hierarchy_template(:status)
|
73
73
|
end
|
@@ -79,8 +79,8 @@ module Sidekiq
|
|
79
79
|
|
80
80
|
app.get '/hierarchy/workflow_sets/:status' do |status|
|
81
81
|
@status = status.to_sym
|
82
|
-
if workflow_set = WorkflowSet.for_status(@status)
|
83
|
-
@workflows = workflow_set.each.take(PER_PAGE)
|
82
|
+
if @workflow_set = WorkflowSet.for_status(@status)
|
83
|
+
@workflows = @workflow_set.each.take(PER_PAGE)
|
84
84
|
erb sidekiq_hierarchy_template(:workflow_set)
|
85
85
|
else
|
86
86
|
halt 404
|
data/web/views/status.erb
CHANGED
@@ -6,7 +6,8 @@
|
|
6
6
|
<div class="panel panel-info">
|
7
7
|
<div class="panel-heading">
|
8
8
|
<a href="<%= workflow_set_url(:running) %>">
|
9
|
-
<h4>Running Workflows</h4>
|
9
|
+
<h4 style="display:inline">Running Workflows</h4>
|
10
|
+
(<%= @running_set.size %> total, displaying <%= @running.size %> newest)
|
10
11
|
</a>
|
11
12
|
</div>
|
12
13
|
|
@@ -42,7 +43,8 @@
|
|
42
43
|
<div class="panel panel-success">
|
43
44
|
<div class="panel-heading">
|
44
45
|
<a href="<%= workflow_set_url(:complete) %>">
|
45
|
-
<h4>Complete Workflows</h4>
|
46
|
+
<h4 style="display:inline">Complete Workflows</h4>
|
47
|
+
(<%= @complete_set.size %> total, displaying <%= @complete.size %> newest)
|
46
48
|
</a>
|
47
49
|
</div>
|
48
50
|
|
@@ -82,7 +84,8 @@
|
|
82
84
|
<div class="panel panel-danger">
|
83
85
|
<div class="panel-heading">
|
84
86
|
<a href="<%= workflow_set_url(:failed) %>">
|
85
|
-
<h4>Failed Workflows</h4>
|
87
|
+
<h4 style="display:inline">Failed Workflows</h4>
|
88
|
+
(<%= @failed_set.size %> total, displaying <%= @failed.size %> newest)
|
86
89
|
</a>
|
87
90
|
</div>
|
88
91
|
|
data/web/views/workflow_set.erb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq-hierarchy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anuj Das
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|