Belle II Software  release-06-00-14
ArgumentsSplitter Class Reference
Inheritance diagram for ArgumentsSplitter:
Collaboration diagram for ArgumentsSplitter:

Public Member Functions

def __init__ (self, *arguments_generator=None, max_subjobs=None)
 
def create_subjobs (self, job)
 
def assign_arguments (self, job)
 
def __repr__ (self)
 

Public Attributes

 max_subjobs
 If we try to create more than this many subjobs we throw an exception, if None then there is no maximum.
 
 arguments_generator
 The ArgumentsGenerator used when creating subjobs.
 

Detailed Description

Creates SubJobs based on the given argument generator. The generator will be called until a `StopIteration` is issued.
Be VERY careful to not accidentally give an infinite generator! Otherwise it will simply create SubJobs until you run out
of memory. You can set the `ArgumentsSplitter.max_subjobs` parameter to try and prevent this and throw an exception.

This splitter is useful for MC production jobs where you don't have any input files, but you want to control the exp/run
numbers of subjobs. If you do have input files set for the parent `Job` objects, then the same input files will be
assinged to every `SubJob`.

Parameters:
    arguments_generator (ArgumentsGenerator): The standard ArgumentsGenerator that is used to assign arguments

Definition at line 272 of file backends.py.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
arguments_generator = None,
  max_subjobs = None 
)
 

Definition at line 286 of file backends.py.

Member Function Documentation

◆ assign_arguments()

def assign_arguments (   self,
  job 
)
inherited
Use the `arguments_generator` (if one exists) to assign the argument tuples to the
subjobs.

Definition at line 169 of file backends.py.

◆ create_subjobs()

def create_subjobs (   self,
  job 
)
This function creates subjobs for the parent job passed in. It creates subjobs until the
`SubjobSplitter.arguments_generator` finishes.

If `ArgumentsSplitter.max_subjobs` is set, then it will throw an exception if more than this number of
subjobs are created.

Reimplemented from SubjobSplitter.

Definition at line 293 of file backends.py.


The documentation for this class was generated from the following file: