girdle 0.0.5 → 0.0.6
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.
- data/Gemfile +1 -4
- data/README.markdown +57 -0
- data/lib/girdle.rb +8 -9
- data/lib/girdle/job.rb +1 -1
- data/lib/girdle/task.rb +1 -1
- data/lib/girdle/version.rb +1 -1
- data/spec/girdle/controller_spec.rb +1 -1
- data/spec/girdle/grid_spec.rb +1 -1
- data/spec/girdle/job_spec.rb +1 -1
- data/spec/girdle/specification_spec.rb +31 -34
- data/spec/girdle/task_spec.rb +1 -1
- data/spec/girdle_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -2
- metadata +18 -18
data/Gemfile
CHANGED
data/README.markdown
CHANGED
@@ -3,6 +3,63 @@ Girdle
|
|
3
3
|
|
4
4
|
A client for submitting and managing Xgrid jobs.
|
5
5
|
|
6
|
+
Installation
|
7
|
+
------------
|
8
|
+
|
9
|
+
gem install girdle
|
10
|
+
|
11
|
+
Usage
|
12
|
+
-----
|
13
|
+
|
14
|
+
Create a job specification:
|
15
|
+
|
16
|
+
spec = Girdle::Specification.new(name: 'example_spec', notification_email: 'admin@example.com')
|
17
|
+
|
18
|
+
Add a task:
|
19
|
+
|
20
|
+
spec.tasks << Girdle::Task.new(name: 'hello', command: '/usr/bin/say',
|
21
|
+
arguments: ['hello'])
|
22
|
+
|
23
|
+
Add another, this one dependent on the first:
|
24
|
+
|
25
|
+
spec.tasks << Girdle::Task.new(name: 'world', command: '/usr/bin/say',
|
26
|
+
arguments: ['world'], depends_on: ['hello'])
|
27
|
+
|
28
|
+
Submit the specification and return an id:
|
29
|
+
|
30
|
+
job_id = Girdle::Job.batch(spec.to_plist)
|
31
|
+
|
32
|
+
Create a new job using the returned id:
|
33
|
+
|
34
|
+
job = Girdle::Job.new(job_id)
|
35
|
+
|
36
|
+
Check its status:
|
37
|
+
|
38
|
+
job.status
|
39
|
+
|
40
|
+
Control its state:
|
41
|
+
|
42
|
+
job.suspend
|
43
|
+
job.resume
|
44
|
+
job.restart
|
45
|
+
job.stop
|
46
|
+
|
47
|
+
Review its task log:
|
48
|
+
|
49
|
+
job.log
|
50
|
+
|
51
|
+
View its results:
|
52
|
+
|
53
|
+
job.results
|
54
|
+
|
55
|
+
Delete it:
|
56
|
+
|
57
|
+
job.delete
|
58
|
+
|
59
|
+
List all jobs:
|
60
|
+
|
61
|
+
Girdle::Job.list
|
62
|
+
|
6
63
|
License
|
7
64
|
-------
|
8
65
|
|
data/lib/girdle.rb
CHANGED
@@ -1,15 +1,14 @@
|
|
1
|
-
require 'bundler'
|
1
|
+
require 'bundler/setup'
|
2
|
+
|
2
3
|
require 'nokogiri'
|
3
4
|
require 'nokogiri-plist'
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
require_relative 'girdle/grid'
|
12
|
-
require_relative 'girdle/controller'
|
6
|
+
require 'girdle/version'
|
7
|
+
require 'girdle/task'
|
8
|
+
require 'girdle/specification'
|
9
|
+
require 'girdle/job'
|
10
|
+
require 'girdle/grid'
|
11
|
+
require 'girdle/controller'
|
13
12
|
|
14
13
|
module Girdle
|
15
14
|
extend self
|
data/lib/girdle/job.rb
CHANGED
data/lib/girdle/task.rb
CHANGED
data/lib/girdle/version.rb
CHANGED
data/spec/girdle/grid_spec.rb
CHANGED
data/spec/girdle/job_spec.rb
CHANGED
@@ -1,37 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
def plist
|
4
|
-
<<-EOS
|
5
|
-
<?xml version="1.0"?>
|
6
|
-
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
7
|
-
<plist version="1.0">
|
8
|
-
<array>
|
9
|
-
<dict>
|
10
|
-
<key>name</key>
|
11
|
-
<string>specification name</string>
|
12
|
-
<key>notificationEmail</key>
|
13
|
-
<string>email@example.com</string>
|
14
|
-
<key>taskSpecifications</key>
|
15
|
-
<dict>
|
16
|
-
<key>task name</key>
|
17
|
-
<dict>
|
18
|
-
<key>arguments</key>
|
19
|
-
<array>
|
20
|
-
<string>hello</string>
|
21
|
-
</array>
|
22
|
-
<key>command</key>
|
23
|
-
<string>/bin/echo</string>
|
24
|
-
<key>dependsOnTasks</key>
|
25
|
-
<array>
|
26
|
-
<string>another task</string>
|
27
|
-
</array>
|
28
|
-
</dict>
|
29
|
-
</dict>
|
30
|
-
</dict>
|
31
|
-
</array>
|
32
|
-
</plist>
|
33
|
-
EOS
|
34
|
-
end
|
1
|
+
require 'spec_helper'
|
35
2
|
|
36
3
|
describe Girdle::Specification do
|
37
4
|
|
@@ -63,6 +30,36 @@ describe Girdle::Specification do
|
|
63
30
|
end
|
64
31
|
|
65
32
|
it 'must render itself as a plist' do
|
33
|
+
plist = <<-EOS
|
34
|
+
<?xml version="1.0"?>
|
35
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
36
|
+
<plist version="1.0">
|
37
|
+
<array>
|
38
|
+
<dict>
|
39
|
+
<key>name</key>
|
40
|
+
<string>specification name</string>
|
41
|
+
<key>notificationEmail</key>
|
42
|
+
<string>email@example.com</string>
|
43
|
+
<key>taskSpecifications</key>
|
44
|
+
<dict>
|
45
|
+
<key>task name</key>
|
46
|
+
<dict>
|
47
|
+
<key>arguments</key>
|
48
|
+
<array>
|
49
|
+
<string>hello</string>
|
50
|
+
</array>
|
51
|
+
<key>command</key>
|
52
|
+
<string>/bin/echo</string>
|
53
|
+
<key>dependsOnTasks</key>
|
54
|
+
<array>
|
55
|
+
<string>another task</string>
|
56
|
+
</array>
|
57
|
+
</dict>
|
58
|
+
</dict>
|
59
|
+
</dict>
|
60
|
+
</array>
|
61
|
+
</plist>
|
62
|
+
EOS
|
66
63
|
@spec.to_plist.must_equal plist
|
67
64
|
end
|
68
65
|
|
data/spec/girdle/task_spec.rb
CHANGED
data/spec/girdle_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: girdle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-08-
|
12
|
+
date: 2011-08-19 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
16
|
-
requirement: &
|
16
|
+
requirement: &70127451669460 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70127451669460
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: guard
|
27
|
-
requirement: &
|
27
|
+
requirement: &70127451669040 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70127451669040
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: guard-minitest
|
38
|
-
requirement: &
|
38
|
+
requirement: &70127451692420 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70127451692420
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rb-fsevent
|
49
|
-
requirement: &
|
49
|
+
requirement: &70127451692000 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70127451692000
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: growl_notify
|
60
|
-
requirement: &
|
60
|
+
requirement: &70127451691580 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70127451691580
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: mocha
|
71
|
-
requirement: &
|
71
|
+
requirement: &70127451691160 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70127451691160
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: nokogiri
|
82
|
-
requirement: &
|
82
|
+
requirement: &70127451690740 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70127451690740
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: nokogiri-plist
|
93
|
-
requirement: &
|
93
|
+
requirement: &70127451690320 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :runtime
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70127451690320
|
102
102
|
description: An Xgrid client
|
103
103
|
email:
|
104
104
|
- jamiehodge@me.com
|