right_chimp 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +5 -0
- data/lib/right_chimp/daemon/ChimpDaemon.rb +11 -0
- data/lib/right_chimp/exec/Executor.rb +7 -0
- data/lib/right_chimp/queue/ChimpQueue.rb +0 -7
- data/lib/right_chimp/queue/ExecutionGroup.rb +12 -0
- data/lib/right_chimp/templates/all_jobs.erb +1 -1
- data/lib/right_chimp/version.rb +1 -1
- metadata +2 -2
data/CHANGES
CHANGED
@@ -125,3 +125,8 @@ Version 1.1.0
|
|
125
125
|
Version 1.1.1
|
126
126
|
-------------
|
127
127
|
* Bugfix: Enable timeouts on server arrays
|
128
|
+
|
129
|
+
Version 1.1.2
|
130
|
+
-------------
|
131
|
+
* Bugfix: Fix queueing of 'held' jobs to pull no more than one job from the queue
|
132
|
+
* Bugfix: Fix issue where ssh commands were non-functional
|
@@ -368,6 +368,7 @@ module Chimp
|
|
368
368
|
|
369
369
|
jobs = queue.get_jobs_by_status(:running) if id == 'running'
|
370
370
|
jobs = queue.get_jobs_by_status(:error) if id == 'error'
|
371
|
+
jobs = queue.get_jobs_by_status(:holding) if id == 'holding'
|
371
372
|
jobs = queue.get_jobs if id == 'all'
|
372
373
|
|
373
374
|
raise WEBrick::HTTPStatus::PreconditionFailed.new('invalid or missing job_id #{id}') unless jobs.size > 0
|
@@ -382,6 +383,16 @@ module Chimp
|
|
382
383
|
|
383
384
|
resp.set_redirect( WEBrick::HTTPStatus::TemporaryRedirect, req.header['referer'])
|
384
385
|
|
386
|
+
#
|
387
|
+
# queue a job
|
388
|
+
#
|
389
|
+
elsif req.request_uri.path =~ /queue$/
|
390
|
+
jobs.each do |j|
|
391
|
+
j.queue
|
392
|
+
end
|
393
|
+
|
394
|
+
resp.set_redirect( WEBrick::HTTPStatus::TemporaryRedirect, req.header['referer'])
|
395
|
+
|
385
396
|
#
|
386
397
|
# retry a job
|
387
398
|
#
|
@@ -48,13 +48,6 @@ module Chimp
|
|
48
48
|
# Push a task into the queue
|
49
49
|
#
|
50
50
|
def push(g, w)
|
51
|
-
if w.exec.right_script && w.exec.right_script.kind_of?(Hash)
|
52
|
-
Log.debug "Pushing job '#{w.exec.right_script['name']}' into group '#{g}'"
|
53
|
-
if w.status == Executor::STATUS_HOLDING
|
54
|
-
Log.info "Holding job '#{w.exec.right_script['name']}'"
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
51
|
raise "no group specified" unless g
|
59
52
|
create_group(g) if not ChimpQueue[g]
|
60
53
|
ChimpQueue[g].push(w)
|
@@ -196,6 +196,18 @@ module Chimp
|
|
196
196
|
end
|
197
197
|
end
|
198
198
|
|
199
|
+
#
|
200
|
+
# Queue a held job by id
|
201
|
+
#
|
202
|
+
def queue(id)
|
203
|
+
Log.debug "Requeuing job id #{id}"
|
204
|
+
job = @jobs_by_id[id]
|
205
|
+
job.owner = nil
|
206
|
+
job.time_start = Time.now
|
207
|
+
job.time_end = nil
|
208
|
+
job.status = Executor::STATUS_NONE
|
209
|
+
end
|
210
|
+
|
199
211
|
#
|
200
212
|
# Requeue a job by id
|
201
213
|
#
|
@@ -159,7 +159,7 @@ jobs.each do |j|
|
|
159
159
|
<% when Executor::STATUS_RUNNING, Executor::STATUS_RETRYING, Executor::STATUS_NONE %>
|
160
160
|
<a href="#" onclick="chimpd_job_control(this, '/job/<%=id%>/cancel')">cancel</a>
|
161
161
|
<% when Executor::STATUS_HOLDING %>
|
162
|
-
<a href="#" onclick="chimpd_job_control(this, '/job/<%=id%>/
|
162
|
+
<a href="#" onclick="chimpd_job_control(this, '/job/<%=id%>/queue')">queue</a>
|
163
163
|
<a href="#" onclick="chimpd_job_control(this, '/job/<%=id%>/cancel')">cancel</a>
|
164
164
|
<% when Executor::STATUS_DONE %>
|
165
165
|
<a href="#" onclick="chimpd_job_control(this, '/job/<%=id%>/retry')">requeue</a>
|
data/lib/right_chimp/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: right_chimp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-12-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest_connection
|