def _get_output_event_tokens(self, job): """Create output event tokens for the owned job token. Args: job: The job which output tokens should be generated. Returns: A list of event tokens corresponding to the outputs of the owned job token. """ assert self._owned_job_token job_name = Name.from_job_token_name(self._owned_job_token.name) output_name = Name() output_name.workflow = job_name.workflow output_name.instance = job_name.instance output_name.input = job_name.job event_tokens = [] for output in job.outputs: output_name.job = output output_name.event = get_unique_name() event = Event(creator=self._name) assert job.history execution_record = job.history[-1] event.attributes = execution_record.get_event_attributes() event_tokens.append( Token(name=output_name.get_event_token_name(), data=pickle.dumps(event))) return event_tokens
def _get_output_event_tokens(self, job): """Create output event tokens for the owned job token. Args: job: The job which output tokens should be generated. Returns: A list of event tokens corresponding to the outputs of the owned job token. """ assert self._owned_job_token job_name = Name.from_job_token_name(self._owned_job_token.name) output_name = Name() output_name.workflow = job_name.workflow output_name.instance = job_name.instance output_name.input = job_name.job event_tokens = [] for output in job.outputs: output_name.job = output output_name.event = get_unique_name() event = Event(creator=self._name) assert job.history execution_record = job.history[-1] event.attributes = execution_record.get_event_attributes() event_tokens.append(Token(name=output_name.get_event_token_name(), data=pickle.dumps(event))) return event_tokens
def __init__(self, client, store, emailer): self._client = client self._store = store self._emailer = emailer self._owned_schedule_token = None self._request = None self._name = get_unique_name() self._test_only_end_if_no_unowned = False
def __init__(self, client, store, emailer): self._client = client self._emailer = emailer self._data_builder = DataBuilder(store) self._owned_job_token = None self._name = get_unique_name() self._inspector = Inspector(client) # The lock synchronizes access to shared attributes between the worker # thread and the lease renewer thread. self._lock = threading.Lock() self._lease_renewer = None self._executor = None self._test_only_end_if_no_runnable = False
def test_get_unique_name(self): """Verify that unique name contains only allowed characters.""" name = get_unique_name() self.assertIsNotNone(re.match(r'^\w+$', name))