def server
unless @@server
$stderr.puts "You must specify a server"
exit
end
map_reduce = MapReduce.new
object = @@server.call(map_reduce)
if map_reduce.valid?
object = map_reduce
end
sanitize object
ts = Rinda::TupleSpace.new
begin
ts.write([:name, uniq.intern, object, @uniq])
ring_server = Rinda::RingServer.new(ts)
rescue Errno::EADDRINUSE
ts = RingFinger.primary
ts.write([:name, uniq.intern, object, @uniq])
end
File.open(@@options[:pid] || "#{Dir.tmpdir}/starfish-#{uniq}.pid","w"){|f|f<<Process.pid}
$stderr.puts "server started for #{object.inspect}"
DRb.thread.join
end