ahoward (owner)

Revisions

gist: 228018 Download_button fork
public
Public Clone URL: git://gist.github.com/228018.git
Embed All Files: show embed
Ruby #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
require 'coxswain'
 
pool =
  Coxswain.pool do |job|
    "#{ job } ran at #{ Time.now.to_f } in #{ Process.pid }..."
  end
 
pool.spawn(5)
 
q = Queue.new
 
10.times{|i| pool.run('job %d' % i){|result| q.push(result)}}
10.times{ p q.pop }
 
pool.shutdown!
 
__END__
 
"job 0 ran at 1257517331.80438 in 60310..."
"job 1 ran at 1257517331.80474 in 60311..."
"job 2 ran at 1257517331.80499 in 60312..."
"job 4 ran at 1257517331.80536 in 60314..."
"job 3 ran at 1257517331.80559 in 60313..."
"job 6 ran at 1257517331.80602 in 60312..."
"job 5 ran at 1257517331.80592 in 60310..."
"job 8 ran at 1257517331.80624 in 60314..."
"job 7 ran at 1257517331.80618 in 60311..."
"job 9 ran at 1257517331.80645 in 60313..."