def __init__( self, state ): # Call this AFTER derived class initialisation # Derived class init MUST define: # * self.id: unique identity (e.g. NAME.CYCLE for cycling tasks) # * prerequisites and outputs # * self.env_vars class_vars = {} self.state = task_state.task_state( state ) self.trigger_now = False # Count instances of each top level object derived from task. # Top level derived classes must define: # <class>.instance_count = 0 # NOTE: top level derived classes are now defined dynamically # (so this is initialised in src/taskdef.py). self.__class__.instance_count += 1 self.__class__.upward_instance_count += 1 self.latest_message = "" self.latest_message_priority = "NORMAL" self.submission_timer_start = None self.execution_timer_start = None self.submitted_time = None self.started_time = None self.succeeded_time = None self.etc = None self.to_go = None self.try_number = 1 self.retry_delay_timer_start = None self.message_queue = msgqueue() self.db_queue = [] self.suite_name = os.environ['CYLC_SUITE_REG_NAME'] self.db_path = os.path.join(gcfg.cfg['task hosts']['local']['run directory'], self.suite_name) self.db = cylc.rundb.CylcRuntimeDAO(suite_dir=self.db_path) # sets submit num for restarts or when triggering state prior to submission submits = self.db.get_task_current_submit_num(self.name, self.c_time) if submits > 0: self.submit_num = submits self.record_db_update("task_states", self.name, self.c_time, status=self.state.get_status()) #is this redundant? else: self.submit_num = 0 if not self.db.get_task_state_exists(self.name, self.c_time): try: self.record_db_state(self.name, self.c_time, submit_num=self.submit_num, try_num=self.try_number, status=self.state.get_status()) #queued call except: pass self.db.close() self.hostname = None self.owner = None self.submit_method = None
def __init__( self, state ): # Call this AFTER derived class initialisation # Derived class init MUST define: # * self.id: unique identity (e.g. NAME%CYCLE for cycling tasks) # * prerequisites and outputs # * self.env_vars class_vars = {} self.state = task_state.task_state( state ) self.launcher = None self.trigger_now = False # Count instances of each top level object derived from task. # Top level derived classes must define: # <class>.instance_count = 0 # NOTE: top level derived classes are now defined dynamically # (so this is initialised in src/taskdef.py). self.__class__.instance_count += 1 self.__class__.upward_instance_count += 1 Pyro.core.ObjBase.__init__(self) self.latest_message = "" self.latest_message_priority = "NORMAL" self.submission_timer_start = None self.execution_timer_start = None self.submitted_time = None self.started_time = None self.succeeded_time = None self.etc = None self.to_go = None self.try_number = 1 self.retry_delay_timer_start = None