예제 #1
0
 def __init_fixedarg_id_gen(self):
     """Create fixedargID generator variable."""
     self.fixedArgVal=0
     var = MetaVariable('fixedargID',
                        self.__fixedargID_fetch,
                        singleton_iter_provider(self.__fixedargID_get_cur))
     self.create_var(var,hidden=True)
예제 #2
0
    def __init_worker_reg_variables(self):
        """Initialze the 'worker_ids' and 'worker registrations' variables."""
        # Create 'worker_ids'
        iterator_value = self.registration.get_num_allocated_ranks
        var = MetaVariable('worker_ids',
                           self.__worker_id_queue_fetch,
                           singleton_iter_provider(iterator_value))
        var.set_handler = self.__worker_id_queue_store
        self.create_var(var, hidden=True)

        self.create_standard_var('worker registrations', 'fifo')
예제 #3
0
    def __init_task_queue(self):
        """Initialize all variables related to the task queue and result
        queue.
        """

        # Create 'task' variable
        var = MetaVariable('task',
                           self.task_queue_fetch,
                           self.__task_queue_iter,
                           self.__task_queue_cb)
        var.set_handler = self.__task_queue_store
        var.unwrap_stores = False
        self.create_var(var)

        # Create 'result' variable
        var = MetaVariable('result',
                           self.result_queue_fetch,
                           self.__result_queue_iter,
                           self.__result_queue_cb)
        var.set_handler = self.__result_queue_store
        var.unwrap_stores = False
        self.create_var(var)

        # Create 'jobStatus' variable
        iterfunc = lambda: self.__get_all_job_status()[0]
        var = MetaVariable('jobStatus',
                           self.__job_status_fetch,
                           singleton_iter_provider(iterfunc))
        self.create_var(var, hidden=True)

        # Create 'broadcast' variable
        var = MetaVariable('broadcast',
                           self.__broadcast_task_queue_fetch)
        var.set_handler = self.__broadcast_task_queue_store
        var.unwrap_stores = False
        self.create_var(var, hidden=True)