cloud-crowd 0.6.1 → 0.6.2
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/cloud-crowd.gemspec +2 -3
- data/lib/cloud-crowd.rb +1 -1
- data/lib/cloud_crowd/models/work_unit.rb +8 -9
- metadata +5 -7
data/cloud-crowd.gemspec
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = 'cloud-crowd'
|
|
3
|
-
s.version = '0.6.
|
|
4
|
-
s.date = '2011-
|
|
3
|
+
s.version = '0.6.2' # Keep version in sync with cloud-cloud.rb
|
|
4
|
+
s.date = '2011-04-14'
|
|
5
5
|
|
|
6
6
|
s.homepage = "http://wiki.github.com/documentcloud/cloud-crowd"
|
|
7
7
|
s.summary = "Parallel Processing for the Rest of Us"
|
|
@@ -20,7 +20,6 @@ Gem::Specification.new do |s|
|
|
|
20
20
|
s.require_paths = ['lib']
|
|
21
21
|
s.executables = ['crowd']
|
|
22
22
|
|
|
23
|
-
s.has_rdoc = true
|
|
24
23
|
s.extra_rdoc_files = ['README']
|
|
25
24
|
s.rdoc_options << '--title' << 'CloudCrowd | Parallel Processing for the Rest of Us' <<
|
|
26
25
|
'--exclude' << 'test' <<
|
data/lib/cloud-crowd.rb
CHANGED
|
@@ -45,7 +45,7 @@ module CloudCrowd
|
|
|
45
45
|
autoload :WorkUnit, 'cloud_crowd/models'
|
|
46
46
|
|
|
47
47
|
# Keep this version in sync with the gemspec.
|
|
48
|
-
VERSION = '0.6.
|
|
48
|
+
VERSION = '0.6.2'
|
|
49
49
|
|
|
50
50
|
# Increment the schema version when there's a backwards incompatible change.
|
|
51
51
|
SCHEMA_VERSION = 4
|
|
@@ -54,19 +54,18 @@ module CloudCrowd
|
|
|
54
54
|
|
|
55
55
|
# Round robin through the nodes and units, sending the unit if the node
|
|
56
56
|
# is able to process it.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
if node.
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
work_units.each do |unit|
|
|
58
|
+
available_nodes.each do |node|
|
|
59
|
+
if node.actions.include? unit.action
|
|
60
|
+
if node.send_work_unit unit
|
|
61
|
+
work_units.delete unit
|
|
62
|
+
available_nodes.delete node if node.busy?
|
|
63
|
+
break
|
|
64
|
+
end
|
|
62
65
|
end
|
|
63
66
|
end
|
|
64
|
-
work_units.push(unit)
|
|
65
67
|
end
|
|
66
68
|
|
|
67
|
-
# If there are both units and nodes left over, try again.
|
|
68
|
-
next if work_units.any? && available_nodes.any?
|
|
69
|
-
|
|
70
69
|
# If we still have units at this point, or we're fresh out of nodes,
|
|
71
70
|
# that means we're done.
|
|
72
71
|
return if work_units.any? || available_nodes.empty?
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cloud-crowd
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 3
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 6
|
|
9
|
-
-
|
|
10
|
-
version: 0.6.
|
|
9
|
+
- 2
|
|
10
|
+
version: 0.6.2
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Jeremy Ashkenas
|
|
@@ -15,8 +15,7 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2011-
|
|
19
|
-
default_executable:
|
|
18
|
+
date: 2011-04-14 00:00:00 Z
|
|
20
19
|
dependencies:
|
|
21
20
|
- !ruby/object:Gem::Dependency
|
|
22
21
|
name: sinatra
|
|
@@ -255,7 +254,6 @@ files:
|
|
|
255
254
|
- test/unit/test_work_unit.rb
|
|
256
255
|
- views/operations_center.erb
|
|
257
256
|
- bin/crowd
|
|
258
|
-
has_rdoc: true
|
|
259
257
|
homepage: http://wiki.github.com/documentcloud/cloud-crowd
|
|
260
258
|
licenses: []
|
|
261
259
|
|
|
@@ -291,7 +289,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
291
289
|
requirements: []
|
|
292
290
|
|
|
293
291
|
rubyforge_project: cloud-crowd
|
|
294
|
-
rubygems_version: 1.
|
|
292
|
+
rubygems_version: 1.7.2
|
|
295
293
|
signing_key:
|
|
296
294
|
specification_version: 3
|
|
297
295
|
summary: Parallel Processing for the Rest of Us
|