ganeti
Safe HaskellNone

Ganeti.Jobs

Description

Generic code to work with jobs, e.g. submit jobs and check their status.

Synopsis

Documentation

type Annotator = OpCode -> MetaOpCode Source #

A simple type alias for clearer signature.

execCancelWrapper :: Annotator -> String -> IORef Int -> [([[OpCode]], String)] -> [(String, [(Int, JobStatus)])] -> IO (Result ()) Source #

execJobSet :: Annotator -> String -> IORef Int -> [([[OpCode]], String)] -> [(String, [(Int, JobStatus)])] -> IO (Result ()) Source #

handleSigInt :: IORef Int -> IO () Source #

Signal handler for graceful termination.

handleSigTerm :: IORef Int -> IO () Source #

Signal handler for immediate termination.

execWithCancel :: Annotator -> String -> [([[OpCode]], String)] -> IO (Result ()) Source #

Prepares to run a set of jobsets with handling of signals and early termination.

submitJobs :: [[MetaOpCode]] -> Client -> IO (Result [JobId]) Source #

Submits a set of jobs and returns their job IDs without waiting for completion.

execJobsWait Source #

Arguments

:: [[MetaOpCode]]

The list of jobs

-> ([JobId] -> IO ())

Post-submission callback

-> Client

The Luxi client

-> IO (Result [(JobId, JobStatus)]) 

Executes a set of jobs and waits for their completion, returning their status.

waitForJobs :: [JobId] -> Client -> IO (Result [(JobId, JobStatus)]) Source #

Polls a set of jobs at an increasing interval until all are finished one way or another.

execJobsWaitOk :: [[MetaOpCode]] -> Client -> IO (Result ()) Source #

Execute jobs and return Ok only if all of them succeeded.