Moab
Ruby wrapper for the Moab binaries. It uses the XML output of Moab for easy parsing.
Installation
Add this line to your application's Gemfile:
gem 'moab'
And then execute:
$ bundle
Or install it yourself as:
$ gem install moab
Usage
This gem provides a simple interface to the Moab binaries returning the results in XML format. You first need to define a scheduler server:
require 'moab'
# Define a scheduler server using the default environment
oakley = Moab::Scheduler.new(host: 'oak-batch.osc.edu')
# Define a scheduler server with custom environment
oakley = Moab::Scheduler.new(
host: 'oak-batch.osc.edu',
lib: '/opt/moab/lib',
bin: '/opt/moab/bin',
moabhomedir: '/var/spool/moab'
)
You can now call any Moab binaries for this given scheduler server:
# Call `mrsvctl` for this Moab server
oakley.call("mrsvctl", "-q", "ALL").xpath("//rsv/@Name").first.value
#=> "my_rsv.832749"
# Call `showq` for this Moab server
oakley.call("showq").xpath('//queue[@option="active"]/@count').first.value.to_i
#=> 639
Contributing
- Fork it ( https://github.com/[my-github-username]/moab/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request