queue_manager.py

Developer Documentation Only Below This Point:

Abstract queue management, the parent of each individual queue manager, LOCAL, PBS, LSF.

queue_manager.Q_LONG = 'long'
queue_manager.Q_MEDIUM = 'medium'
queue_manager.Q_PARALLEL = 'parallel'
queue_manager.Q_SHORT = 'short'
queue_manager.Q_VERYLONG = 'verylong'
queue_manager.check_for_cycle(paramdict, key, chain=None)

See if a key is referred to by any of its descendant references. Bails if it finds a single cycle.

queue_manager.deconstruct_scriptname(scriptname)

Parse a standard scriptname into its components: task and jobroot The inverse of JobGenerator.construct_scriptname()

queue_manager.determine_id(jobid)

pull a jobid from a string that contains one

queue_manager.determine_job(jobid)

pull a job shell name from a string that contains one

class queue_manager.queue_manager(name, sub_cmd, stat_cmd, logfunc=None)

This class manages the queue so it can monitor the jobs’ statuses.

check_status(jobid, batchroot)

Check whether a job is still running. Return ERROR, RUNNING, or DONE

error_pid()

Return a unique value that won’t be confused with a pid. I considered negative, but that might get messy.

format_command(command, todir, label, region, rundir=None, iteration_label='', **kwargs)

Return a string with the format of subclass’s qsub_command() with the keyword arguments imbedded

ignoreable_warning(message)

Can this be ignored?

job_statistics_header()

Return a list of labels.

logit(msg, level='info')

If no logger given in the constructor, use hack

set_interface_specific_parameters(kwargs)

Allow special considerations of individual interfaces to be set.

A semi-hack for nautilus’s queue-naming policy

queue_manager.validate_command(command, obsoleteDict=None, **kwargs)

Utility function used in Tool.py and Protocol.py Identify missing and obsolete terms from a command template.