Skip to content

Instantly share code, notes, and snippets.

@gouf
Created December 24, 2013 08:24
Show Gist options
  • Save gouf/8110318 to your computer and use it in GitHub Desktop.
Save gouf/8110318 to your computer and use it in GitHub Desktop.
DRB によるオブジェクトサーバ
require 'drb'
require 'eventmachine'
require 'pp'
EM.run do
DRb.start_service()
obj = DRbObject.new(nil, 'druby://localhost:9000')
EM.add_periodic_timer(2) do
3.times{pp obj.pop}
end
end
require 'drb'
require 'eventmachine'
require 'pp'
EM.run do
DRb.start_service()
obj = DRbObject.new(nil, 'druby://localhost:9000')
EM.add_periodic_timer(3) do
5.times{pp obj.push 'test'}
end
end
require 'drb'
class QServer
def initialize
@q = Queue.new
end
def push str
@q << str
end
def pop
@q.pop
end
def shift
@q.shift
end
def size
@q.size
end
end
server = QServer.new
DRb.start_service('druby://localhost:9000', server)
DRb.thread.join
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment