E
Eric Hodel
Rubyforge Project:
http://rubyforge.org/projects/rctools/
Documentation:
http://dev.robotcoop.com/Libraries/mogilefs/
== About
This is a client for Danga's MogileFS distributed file system. For
information
on MogileFS see:
http://danga.com/mogilefs/
== Installing mogilefs
First you need a MogileFS setup. You can find information on how to
do that at the above URL.
Then install the gem:
$ sudo gem install mogilefs
== Using mogilefs
# Create a new instance that will communicate with these trackers:
hosts = %w[192.168.1.69:6001 192.168.1.70:6001]
mg = MogileFS::MogileFS.newdomain => 'test', :hosts => hosts
:root => '/mnt/mogilefs')
# Stores "A bunch of text to store" into 'some_key' with a class
of 'text'.
mg.store_content 'some_key', 'text', "A bunch of text to store"
# Retrieve data from 'some_key'
data = mg.get_file_data 'some_key'
# Store the contents of 'image.jpeg' into the key 'my_image' with
a class of
# 'image'.
mg.store_file 'my_image', 'image', 'image.jpeg'
# Store the contents of 'image.jpeg' into the key 'my_image' with
a class of
# 'image' using an open IO.
File.open 'image.jpeg' do |fp|
mg.store_file 'my_image', 'image', fp
end
# Remove the key 'my_image' and 'some_key'.
mg.delete 'my_image'
mg.delete 'some_key'
== WARNING!
This client is only known to work in NFS mode. HTTP mode is
implemented but
completely untested. If you find a bug, please report it on the
Rubyforge
project:
http://rubyforge.org/tracker/?func=add&group_id=1266&atid=4981
http://rubyforge.org/projects/rctools/
Documentation:
http://dev.robotcoop.com/Libraries/mogilefs/
== About
This is a client for Danga's MogileFS distributed file system. For
information
on MogileFS see:
http://danga.com/mogilefs/
== Installing mogilefs
First you need a MogileFS setup. You can find information on how to
do that at the above URL.
Then install the gem:
$ sudo gem install mogilefs
== Using mogilefs
# Create a new instance that will communicate with these trackers:
hosts = %w[192.168.1.69:6001 192.168.1.70:6001]
mg = MogileFS::MogileFS.newdomain => 'test', :hosts => hosts
:root => '/mnt/mogilefs')
# Stores "A bunch of text to store" into 'some_key' with a class
of 'text'.
mg.store_content 'some_key', 'text', "A bunch of text to store"
# Retrieve data from 'some_key'
data = mg.get_file_data 'some_key'
# Store the contents of 'image.jpeg' into the key 'my_image' with
a class of
# 'image'.
mg.store_file 'my_image', 'image', 'image.jpeg'
# Store the contents of 'image.jpeg' into the key 'my_image' with
a class of
# 'image' using an open IO.
File.open 'image.jpeg' do |fp|
mg.store_file 'my_image', 'image', fp
end
# Remove the key 'my_image' and 'some_key'.
mg.delete 'my_image'
mg.delete 'some_key'
== WARNING!
This client is only known to work in NFS mode. HTTP mode is
implemented but
completely untested. If you find a bug, please report it on the
Rubyforge
project:
http://rubyforge.org/tracker/?func=add&group_id=1266&atid=4981