modulepackage
1.2.1
Repository: https://github.com/dgruber/drmaa2interface.git
Documentation: pkg.go.dev
# README
drmaa2interface
DRMAA2 compatible native Go interfaces and structs for building DRMAA2 compatible middleware
Why using drmaa2interface?
This repository simplifies the process to create Go DRMAA2 wrappers for job schedulers, process managers, resource management systems etc. (like for starting up OS processes, workflows, containers, pods...).
What is DRMAA2?
DRMAA2 is an acronym for Distributed Resource Management Application API version 2 which is an open and freely usable standard defined by the Open Grid Forum.
Unlike other standards it is a common subset of functions available in all major DRMs (like Univa Grid Engine, LSF, SLURM, Condor, PBS).
More information
More information can be found at the DRMAA website.
Please feel free to create issues on github.
Projects
The DRMAA2 interface is used in following projects:
# Functions
No description provided by the author
No description provided by the author
CreateJobInfo creates a JobInfo object where all values are initialized with UNSET (needed in order to differentiate if a value is not set or 0).
No description provided by the author
No description provided by the author
No description provided by the author
# Constants
go:generate stringer -type=Capability.
go:generate stringer -type=OS.
go:generate stringer -type=CPU.
go:generate stringer -type=CPU.
go:generate stringer -type=CPU.
AttributeChange means that some job info member is changed.
go:generate stringer -type=OS.
go:generate stringer -type=Capability.
go:generate stringer -type=Capability.
go:generate stringer -type=CPU.
go:generate stringer -type=ErrorID.
go:generate stringer -type=JobState.
go:generate stringer -type=ErrorID.
go:generate stringer -type=JobState.
go:generate stringer -type=OS.
go:generate stringer -type=CPU.
go:generate stringer -type=ErrorID.
InfiniteTime is a special timeout value: Wait probably infinitly.
go:generate stringer -type=ErrorID.
go:generate stringer -type=ErrorID.
go:generate stringer -type=ErrorID.
go:generate stringer -type=ErrorID.
go:generate stringer -type=OS.
go:generate stringer -type=Capability.
go:generate stringer -type=Capability.
go:generate stringer -type=Capability.
go:generate stringer -type=Capability.
go:generate stringer -type=Capability.
go:generate stringer -type=ErrorID.
go:generate stringer -type=OS.
go:generate stringer -type=OS.
Migrated is set when a job is re-located (to another host for example).
go:generate stringer -type=CPU.
go:generate stringer -type=CPU.
NewState is set when a job state changed.
go:generate stringer -type=CPU.
go:generate stringer -type=OS.
go:generate stringer -type=ErrorID.
go:generate stringer -type=CPU.
go:generate stringer -type=CPU.
PlaceholderHomeDir is a specified string which can be used to request the home directory of the user (e.g.
PlaceholderIndex is a specified string which can be used to put the output of a job in a file which has the array job task ID within the directory structure or filename.
PlaceholderWorkingDir is a specified string which can be used to point to the current working directory of the job.
go:generate stringer -type=CPU.
go:generate stringer -type=CPU.
go:generate stringer -type=JobState.
go:generate stringer -type=JobState.
go:generate stringer -type=JobState.
go:generate stringer -type=JobState.
go:generate stringer -type=Capability.
go:generate stringer -type=Capability.
go:generate stringer -type=Capability.
go:generate stringer -type=Capability.
go:generate stringer -type=Capability.
go:generate stringer -type=JobState.
go:generate stringer -type=ErrorID.
go:generate stringer -type=CPU.
go:generate stringer -type=CPU.
go:generate stringer -type=ErrorID.
go:generate stringer -type=OS.
go:generate stringer -type=JobState.
go:generate stringer -type=ErrorID.
go:generate stringer -type=OS.
go:generate stringer -type=ErrorID.
go:generate stringer -type=JobState.
go:generate stringer -type=OS.
go:generate stringer -type=JobState.
UnsetEnum defines an unset enum (required?).
UnsetNum defines an unset number (which is different than 0).
UnsetTime is a special time value: Time or date not set.
go:generate stringer -type=ErrorID.
go:generate stringer -type=ErrorID.
go:generate stringer -type=OS.
go:generate stringer -type=OS.
go:generate stringer -type=CPU.
go:generate stringer -type=CPU.
ZeroTime is a special timeout value: Don't wait.
# Variables
UnsetDict is means no dictionary is set (nil).
UnsetJobInfo means no job info is set (nil).
UnsetList is used to differentiate between an empty and an unspecified (unset) list.
# Structs
Error is a DRMAA2 error type (implements Go Error interface).
Extension is a struct which is embedded in DRMAA2 objects which are extensible.
JobInfo represents the state of a job.
JobTemplate defines all fields for a job request defined by the DRMAA2 standard.
Machine represents a compute instance implementing the extension interface.
Notification is the argument of the callback function automatically called for an event.
Queue implements all required elements of a queue.
ReservationInfo contains all details of the current state of a resource reservation.
ReservationTemplate contains ressource requests for a resource reservation.
Version is a DRMAA2 version type which holds the major version and minor version.
# Interfaces
ArrayJob defines all methods which can be executed on a DRMAA2 job array.
Extensible is an interface which defines functions used to interact with extensible data structures (JobTemplate, JobInfo etc.).
Job defines all methods which needs to be implemented for a DRMAA job type.
JobSession contains all functions for managing jobs within one names job session.
MonitoringSession interface defines all methods required for implementing a DRMAA2 compatible monitoring session.
Reservation implements all methods required to be a valid DRMAA2 compatible reservation, created by a ReservationSession.
ReservationSession provides all methods required for a DRMAA2 compatible reservation session.
SessionManager defines all methods available from a DRMAA2 compatible SessionManager implementation.
# Type aliases
Capability is a type which represents the availability of optional functionality of the DRMAA2 implementation.
CPU architecture types.
ErrorID type represents a DRMAA2 standardized error ID which is part of the DRMAA2 Error type.
Event specifies the type of the event.
JobState represents the state of a job.
OS is the operating system type.