arvados-cli 0.1.20141001020051 → 0.1.20141006171315

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/crunch-job +13 -40
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 47cf9aa2a62cb15beff76144bb02e95796887242
4
- data.tar.gz: f54ef766f3575fed9d638e2b1d62c435e70ab964
3
+ metadata.gz: 68b3a31004a457fb98b8cfdeb371c54e148dc1ff
4
+ data.tar.gz: aa6fabddda25ea6217cc38c90d6c800ba0401e4c
5
5
  SHA512:
6
- metadata.gz: 7814c28f8f66931d89d98caeeb0919a14341aba27d04da7801e3e0a45c420aacb86fa157cce11598ac7ec049955c2175533e52c244b078cb0dd60cc2968dc26f
7
- data.tar.gz: e88521696a86b63e673261fc856752ecaf5204ead6a65503321ca2b3c9b9f25b24443a39d63ee8b21963a0a83a005c9a6e724c9107ed269ce5cd01c70c700249
6
+ metadata.gz: f2b6c2ff8518e6458cb616bd97fdd3f87d20352969494a174a56b48a5e21f64d19e2749f809c964e190b0a14270657923b1635bf2167709b20b21d5222ac1144
7
+ data.tar.gz: aaaf716e41d5e6bf1910233c2bc3821b88c768097bdd5c87db53e149676ff2aa232cd8206aacdf484088d1c6d6459e8b2c41efb6577e544dfeb8538c81b7063f
data/bin/crunch-job CHANGED
@@ -153,30 +153,15 @@ if ($job_has_uuid)
153
153
  {
154
154
  $Job = $arv->{'jobs'}->{'get'}->execute('uuid' => $jobspec);
155
155
  if (!$force_unlock) {
156
- # If some other crunch-job process has grabbed this job (or we see
157
- # other evidence that the job is already underway) we exit
158
- # EX_TEMPFAIL so crunch-dispatch (our parent process) doesn't
159
- # mark the job as failed.
160
- if ($Job->{'is_locked_by_uuid'}) {
161
- Log(undef, "Job is locked by " . $Job->{'is_locked_by_uuid'});
156
+ # Claim this job, and make sure nobody else does
157
+ eval {
158
+ # lock() sets is_locked_by_uuid and changes state to Running.
159
+ $arv->{'jobs'}->{'lock'}->execute('uuid' => $Job->{'uuid'})
160
+ };
161
+ if ($@) {
162
+ Log(undef, "Error while locking job, exiting ".EX_TEMPFAIL);
162
163
  exit EX_TEMPFAIL;
163
- }
164
- if ($Job->{'state'} ne 'Queued') {
165
- Log(undef, "Job state is " . $Job->{'state'} . ", but I can only start queued jobs.");
166
- exit EX_TEMPFAIL;
167
- }
168
- if ($Job->{'success'} ne undef) {
169
- Log(undef, "Job 'success' flag (" . $Job->{'success'} . ") is not null");
170
- exit EX_TEMPFAIL;
171
- }
172
- if ($Job->{'running'}) {
173
- Log(undef, "Job 'running' flag is already set");
174
- exit EX_TEMPFAIL;
175
- }
176
- if ($Job->{'started_at'}) {
177
- Log(undef, "Job 'started_at' time is already set (" . $Job->{'started_at'} . ")");
178
- exit EX_TEMPFAIL;
179
- }
164
+ };
180
165
  }
181
166
  }
182
167
  else
@@ -281,23 +266,11 @@ foreach (@sinfo)
281
266
  @slot = sort { $a->{cpu} <=> $b->{cpu} } @slot;
282
267
 
283
268
 
284
-
285
- my $jobmanager_id;
286
- if ($job_has_uuid)
287
- {
288
- # Claim this job, and make sure nobody else does
289
- unless ($Job->update_attributes('is_locked_by_uuid' => $User->{'uuid'}) &&
290
- $Job->{'is_locked_by_uuid'} == $User->{'uuid'}) {
291
- Log(undef, "Error while updating / locking job, exiting ".EX_TEMPFAIL);
292
- exit EX_TEMPFAIL;
293
- }
294
- $Job->update_attributes('state' => 'Running',
295
- 'tasks_summary' => { 'failed' => 0,
296
- 'todo' => 1,
297
- 'running' => 0,
298
- 'done' => 0 });
299
- }
300
-
269
+ $Job->update_attributes(
270
+ 'tasks_summary' => { 'failed' => 0,
271
+ 'todo' => 1,
272
+ 'running' => 0,
273
+ 'done' => 0 });
301
274
 
302
275
  Log (undef, "start");
303
276
  $SIG{'INT'} = sub { $main::please_freeze = 1; };
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arvados-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.20141001020051
4
+ version: 0.1.20141006171315
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arvados Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-01 00:00:00.000000000 Z
11
+ date: 2014-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: arvados
@@ -178,7 +178,7 @@ dependencies:
178
178
  - - "<"
179
179
  - !ruby/object:Gem::Version
180
180
  version: 1.0.0
181
- description: Arvados command line tools, git commit e6fbedf93f4db7325872537e36c4175c8fea0bea
181
+ description: Arvados command line tools, git commit 77e3dec8727c1fc00665531a39583c85b2c404bb
182
182
  email: gem-dev@curoverse.com
183
183
  executables:
184
184
  - arv