Class: OodReservations::Queries::TorqueMoab
- Inherits:
-
OodReservations::Query
- Object
- OodReservations::Query
- OodReservations::Queries::TorqueMoab
- Defined in:
- lib/ood_reservations/queries/torque_moab.rb
Overview
Object used for querying reservations on a batch server that uses Torque for the resource manager and Moab for the scheduler
Constant Summary collapse
- VALID_SUBTYPES =
Valid reservation subtypes, other subtypes will be ignored NB: used to filter out running jobs that appear in reservation list
%i( StandingReservation )
Class Method Summary collapse
-
.match(cluster:, **_) ⇒ Boolean
Whether this cluster matches this Query adapter for use.
Instance Method Summary collapse
-
#reservation(id:) ⇒ Reservation
Queries the Moab scheduler for a given reservation and builds reservation object with help of Torque resource manager.
-
#reservations ⇒ Array<Reservation>
Queries the Moab scheduler for a list of reservations and builds reservation objects with help of Torque resource manager.
Methods inherited from OodReservations::Query
Constructor Details
This class inherits a constructor from OodReservations::Query
Class Method Details
.match(cluster:, **_) ⇒ Boolean
Whether this cluster matches this Query adapter for use
16 17 18 19 20 21 |
# File 'lib/ood_reservations/queries/torque_moab.rb', line 16 def self.match(cluster:, **_) cluster.resource_mgr_server? && cluster.scheduler_server? && cluster.resource_mgr_server.is_a?(OodCluster::Servers::Torque) && cluster.scheduler_server.is_a?(OodCluster::Servers::Moab) end |
Instance Method Details
#reservation(id:) ⇒ Reservation
Queries the Moab scheduler for a given reservation and builds reservation object with help of Torque resource manager
28 29 30 31 32 33 |
# File 'lib/ood_reservations/queries/torque_moab.rb', line 28 def reservation(id:) xml = moab(@cluster).call("mrsvctl", "-q", "#{id}") parse_rsv_xml @cluster, xml.xpath(rsv_xpath) rescue Moab::Error => e raise Error, e. end |
#reservations ⇒ Array<Reservation>
Queries the Moab scheduler for a list of reservations and builds reservation objects with help of Torque resource manager
40 41 42 43 44 45 |
# File 'lib/ood_reservations/queries/torque_moab.rb', line 40 def reservations xml = moab(@cluster).call("mrsvctl", "-q", "ALL") xml.xpath(rsv_xpath).map {|r_xml| parse_rsv_xml @cluster, r_xml} rescue Moab::Error => e raise Error, e. end |