JointcalRunner¶
-
class
lsst.jointcal.JointcalRunner(TaskClass, parsedCmd, doReturnResults=False)¶ Bases:
lsst.pipe.base.ButlerInitializedTaskRunnerSubclass of TaskRunner for jointcalTask
jointcalTask.runDataRef() takes a number of arguments, one of which is a list of dataRefs extracted from the command line (whereas most CmdLineTasks’ runDataRef methods take single dataRef, are are called repeatedly). This class transforms the processed arguments generated by the ArgumentParser into the arguments expected by Jointcal.runDataRef().
See pipeBase.TaskRunner for more information.
Attributes Summary
TIMEOUTMethods Summary
__call__(args)Parameters: getTargetList(parsedCmd, **kwargs)Return a list of tuples per tract, each containing (dataRefs, kwargs). makeTask([parsedCmd, args])A variant of the base version that passes a butler argument to the task’s constructor. precall(parsedCmd)Hook for code that should run exactly once, before multiprocessing. prepareForMultiProcessing()Prepare this instance for multiprocessing run(parsedCmd)Run the task on all targets. runTask(task, dataRef, kwargs)Make the actual call to runDataReffor this task.Attributes Documentation
-
TIMEOUT= 2592000¶
Methods Documentation
-
__call__(args)¶ Parameters: - args
Arguments for Task.runDataRef()
Returns: - pipe.base.Struct
if self.doReturnResults is False:
exitStatus: 0 if the task completed successfully, 1 otherwise.
if self.doReturnResults is True:
result: the result of calling jointcal.runDataRef()exitStatus: 0 if the task completed successfully, 1 otherwise.
-
static
getTargetList(parsedCmd, **kwargs)¶ Return a list of tuples per tract, each containing (dataRefs, kwargs).
Jointcal operates on lists of dataRefs simultaneously.
-
makeTask(parsedCmd=None, args=None)¶ A variant of the base version that passes a butler argument to the task’s constructor.
Parameters: - parsedCmd :
argparse.Namespace Parsed command-line options, as returned by the
ArgumentParser; if specified then args is ignored.- args
Other arguments; if
parsedCmdisNonethen this must be specified.
Raises: - RuntimeError
Raised if
parsedCmdandargsare bothNone.
- parsedCmd :
-
precall(parsedCmd)¶ Hook for code that should run exactly once, before multiprocessing.
Notes
Must return True if
TaskRunner.__call__should subsequently be called.Warning
Implementations must take care to ensure that no unpicklable attributes are added to the TaskRunner itself, for compatibility with multiprocessing.
The default implementation writes package versions, schemas and configs, or compares them to existing files on disk if present.
-
prepareForMultiProcessing()¶ Prepare this instance for multiprocessing
Optional non-picklable elements are removed.
This is only called if the task is run under multiprocessing.
-
run(parsedCmd)¶ Run the task on all targets.
Parameters: - parsedCmd :
argparse.Namespace Parsed command
argparse.Namespace.
Returns: Notes
The task is run under multiprocessing if
TaskRunner.numProcessesis more than 1; otherwise processing is serial.- parsedCmd :
-
runTask(task, dataRef, kwargs)¶ Make the actual call to
runDataReffor this task.Parameters: - task :
lsst.pipe.base.CmdLineTaskclass The class of the task to run.
- dataRef
Butler data reference that contains the data the task will process.
- kwargs
Any additional keyword arguments. See
TaskRunner.getTargetListabove.
Notes
The default implementation of
TaskRunner.runTaskworks for any command-line task which has arunDataRefmethod that takes a data reference and an optional set of additional keyword arguments. This method returns the results generated by the task’srunDataRefmethod.- task :
-