Package Ganga :: Package GPIDev :: Package Adapters :: Module IApplication :: Class IApplication :: Class _proxyClass
[hide private]
[frames] | no frames]

Class _proxyClass

source code

    object --+    
             |    
GPIProxyObject --+
                 |
                Adapters.IApplication.IApplication._proxyClass


     Base class for all application objects. Derived classes represent
     logical  applications  in  the  GPI and  implement  configuration
     handler functionality. The application configuration is the first
     phase of job submission.

     General rules for implementing the configure methods:
     
     In  general the  configure() and  master_configure()  methods are
     called always in  the context of job submission,  so in principle
     you may navigate to  the associated job object (including backend
     information). However it  is not advised to use  backend or extra
     sandbox  information at this  point.  Code  which depends  on the
     backend  should be  put in  application-specific  runtime handler
     which is the next step of job submission.
     
     The input/output dataset information may be used if neccessary.
     Objects in the job object tree should not be modified.

     Efficient implementation of splitting:

     If you want to enable the  typical case of splitting based on the
     dataset  (defined at  the  job  level) then  it  is very  simple:
     configure()  should only process  the inputdata  part of  the job
     configuration and master_configure() should  do the rest. In that
     case the splitter should not mutate the application object in the
     subjobs, because such changes will not be taken into account (and
     framework will have inconsistent behaviour).

     You  may  also take  an  extreme  approach  and move  the  entire
     application    configuration     to    configure().     Arbitrary
     modifications of the application  object in the subjobs which are
     done by  the splitter will  take effect.  But if  the application
     configuration  process is time  consuming it  will be  repeated a
     number of times which is inneficient.

     Otherwise  you   should  first   identify  which  parts   of  the
     application  object may be  altered by  the splitter  and process
     them  in  configure()   method.   The  master_configure()  should
     perform only  the time-consuming part of  the configuration which
     is shared among the subjobs.  This means that splitter should not
     try to  modify the application  parameters which are used  in the
     common master_configure().  

Properties:

Nested Classes [hide private]
  _impl
This is a Ganga.GPI.IApplication implementation class.
Instance Methods [hide private]
 
__eq__(self, x)
Equality operator (==), compare the IApplication properties which are declared as [comparable].
source code
 
__init__(self, *args, **kwds)
GPI IApplication object constructor: IApplication() : create iapplication with default settings; IApplication(i) : make a copy of i; IApplication(i,x=a,...): make a copy of i and set property 'x' to a, etc..
source code
 
__ne__(self, x)
Non-equality operator (!=).
source code
 
__repr__(self)
Return an short representation of IApplication object.
source code
 
__setattr__(self, x, v)
Set a property of IApplication with consistency and safety checks.
source code
 
__str__(self)
Return a printable string representing IApplication object as a tree of properties.
source code
 
copy(self)
Make an identical copy of self.
source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __sizeof__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, *args, **kwds)
(Constructor)

source code 

GPI IApplication object constructor: IApplication() : create iapplication with default settings; IApplication(i) : make a copy of i; IApplication(i,x=a,...): make a copy of i and set property 'x' to a, etc..

Overrides: object.__init__

__repr__(self)
(Representation operator)

source code 

Return an short representation of IApplication object.

Overrides: object.__repr__

__setattr__(self, x, v)

source code 

Set a property of IApplication with consistency and safety checks. Setting a [protected] or a unexisting property raises AttributeError.

Overrides: object.__setattr__

__str__(self)
(Informal representation operator)

source code 

Return a printable string representing IApplication object as a tree of properties.

Overrides: object.__str__