|
GlobalSync
Control total memory usage in non-local run modes by limiting the
number of simultaneous subprocess calls
|
|
GlobalConstants
|
|
LogState
A simple logging enum
|
|
LogGlobals
|
|
StrFileObject
fakes a filehandle for library functions which write to a stream,
and captures output in a string
|
|
ExpWaiter
Convenience object to setup exponentially increasing wait/polling
times
|
|
Bunch
generic struct with named argument constructor
|
|
TaskNodeConstants
|
|
DotConfig
A static container of configuration data for dot graph output
|
|
Command
Commands can be presented as strings or argument lists (or none)
|
|
StoppableThread
Thread class with a stop() method.
|
|
ModeInfo
Stores default values associated with each runmode: local,sge,...
|
|
RunMode
|
|
RetryParam
parameters pertaining to task retry behavior
|
|
RunningTaskStatus
simple object allowing remote task threads to communicate their
status back to the TaskManager
|
|
BaseTaskRunner
Each individual command-task or sub workflow task is run on its own
thread using a class inherited from BaseTaskRunner
|
|
WorkflowTaskRunner
Manages a sub-workflow task
|
|
CommandTaskRunner
Parent to local and SGE TaskRunner specializations for command
tasks
|
|
LocalTaskRunner
|
|
QCaller
Calls to both qsub and qstat go through this run() method so that
we can time them out:
|
|
SGETaskRunner
|
|
TaskFileWriter
This class runs on a separate thread and is responsible for
updating the state and info task files
|
|
TaskManager
This class runs on a separate thread from workflowRunner, launching
jobs based on the current state of the TaskDAG
|
|
CmdPayload
|
|
WorkflowPayload
|
|
TaskNode
Represents an individual task in the task graph
|
|
TaskDAG
Holds all tasks and their dependencies.
|
|
DataDirException
|
|
WorkflowRunnerThreadSharedData
All data used by the WorkflowRunner which will be constant over the
lifetime of a TaskManager instance.
|
|
WorkflowRunner
This object is designed to be inherited by a class in client code.
|
|
|
|
|
|
|
|
|
|
forceRename(src,
dst)
dst is only overwritten in a single atomic operation on *nix on
windows, we can't have atomic rename, but we can recreate the
behavior otherwise |
source code
|
|
|
|
|
ensureDir(d)
make directory if it doesn't already exist, raise exception if
something else is in the way: |
source code
|
|
|
timeStampToTimeStr(ts)
converts time.time() output to timenow() string |
source code
|
|
|
|
|
|
|
|
|
|
|
|
|
lister(x)
Convert input into a list, whether it's already iterable or not. |
source code
|
|
|
setzer(x)
convert user input into a set, handling the pathological case that
you have been handed a single string, and you don't want a set of
letters: |
source code
|
|
|
|
|
log(ofpList,
msgList,
linePrefix=None)
General logging function. |
source code
|
|
|
|
|
|
|
|
|
|
|
|
|
msgListToMsg(msgList)
convert string or list of strings into a single string message |
source code
|
|
|
|
|
isLocalSmtp()
return true if a local smtp server is available |
source code
|
|
|
sendEmail(mailTo,
mailFrom,
subject,
msgList) |
source code
|
|
|
|
|
argToBool(x)
convert argument of unknown type to a bool: |
source code
|
|
|
hashObjectValue(obj)
This function hashes objects values -- the hash will be the same for
two objects containing the same methods and data, so it corresponds
to 'A==B' and *not* 'A is B'. |
source code
|
|
|
namespaceJoin(a,
b)
join two strings with a separator only if a exists |
source code
|
|
|
namespaceLabel(namespace)
provide a consistent naming scheme to users for embedded workflows |
source code
|
|
|
lockMethod(f)
method decorator acquires/releases object's lock |
source code
|
|
|
stackDump(dumpfp)
adapted from haridsv @ stackoverflow: |
source code
|
|
|
|
|
|
|
|
|
|
|
|
|
writeDotGraph(taskInfoFile,
taskStateFile,
workflowClassName)
write out the current graph state in dot format |
source code
|
|
|
writeDotScript(taskDotScriptFile,
taskInfoFileName,
taskStateFileName,
workflowClassName)
write dot task graph creation script |
source code
|
|
|
|