Source code for radical.saga.job.container


__author__    = "Andre Merzky, Ole Weidner"
__copyright__ = "Copyright 2012-2013, The SAGA Project"
__license__   = "MIT"


from .. import task as st


# ------------------------------------------------------------------------------
#
# 'forward' declaration of job.Container
#
[docs]class Container (st.Container): """ :todo: document me .. py:attribute:: jobs The (read-only) `jobs` property returns a list of all job objects in the container. :rtype: :class:`saga.job.Job` list .. py:attribute:: size The (read-only) `size` property returns the number of job objectis in the container. :rtype: int .. py:attribute:: states The (read-only) `states` property returns a list of states that represent the states of the individual jobs in the container. :rtype: list """ # -------------------------------------------------------------------------- # def __init__ (self) : self._task_container = super (Container, self) self._task_container.__init__ () import radical.saga.attributes as sa self._attributes_register ("Jobs", [], sa.ANY, sa.VECTOR, sa.READONLY) self._attributes_set_getter ("Jobs", self.get_jobs) # -------------------------------------------------------------------------- #
[docs] def get_jobs (self) : """ This is similar to get_tasks(), but returns only Job typed entries from the container. """ tasks = self.get_tasks () jobs = [] from . import job as sjob for task in tasks : if isinstance (task, sjob.Job) : jobs.append (task) return jobs