mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
import drb/sample
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
0562a84558
commit
30ff0b6aeb
44 changed files with 1966 additions and 0 deletions
43
sample/drb/dcdbiff.rb
Normal file
43
sample/drb/dcdbiff.rb
Normal file
|
@ -0,0 +1,43 @@
|
|||
#
|
||||
# dcdbiff.rb - distributed cdbiff (client)
|
||||
# * original: cdbiff by Satoru Takabayashi <http://namazu.org/~satoru/cdbiff>
|
||||
|
||||
require 'drb/drb'
|
||||
require 'drb/eq'
|
||||
|
||||
class Notify
|
||||
include DRbUndumped
|
||||
|
||||
def initialize(biff, command)
|
||||
@biff = biff
|
||||
@command = command
|
||||
|
||||
@biff.add_observer(self)
|
||||
end
|
||||
|
||||
def update(filename, time)
|
||||
p [filename, time] if $DEBUG
|
||||
system(@command)
|
||||
end
|
||||
|
||||
def done
|
||||
begin
|
||||
@biff.delete_observer(self)
|
||||
rescue
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def main
|
||||
command = 'eject'
|
||||
uri = 'druby://localhost:19903'
|
||||
|
||||
DRb.start_service
|
||||
biff = DRbObject.new(nil, uri)
|
||||
notify = Notify.new(biff, command)
|
||||
|
||||
trap("INT"){ notify.done }
|
||||
DRb.thread.join
|
||||
end
|
||||
|
||||
main
|
Loading…
Add table
Add a link
Reference in a new issue