def get_schedule(self, workflow): """Get workflow schedule data from the store. Args: workflow: The name of the workflow whose schedule should be retrieved. Returns: The workflow schedule or None if it was not found. """ name = Name(workflow=workflow) schedule_token_name = name.get_workflow_schedule_token_name() tokens = self._store.read_tokens(name_prefix=schedule_token_name) if tokens: for token in tokens: if token.name == schedule_token_name: schedule = pickle.loads(token.data) overrun_policy_help = OverrunPolicy.get_help( schedule.overrun_policy) return WorkflowScheduleData( next_run_time=schedule.next_run_time, recurrence_seconds=schedule.recurrence_seconds, overrun_policy=schedule.overrun_policy, overrun_policy_help=overrun_policy_help, workflow=schedule.workflow, parser_params=schedule.parser_params, emails=schedule.emails, max_running_instances=schedule.max_running_instances) return None
def get_schedule(self, workflow): """Get workflow schedule data from the store. Args: workflow: The name of the workflow whose schedule should be retrieved. Returns: The workflow schedule or None if it was not found. """ name = Name(workflow=workflow) schedule_token_name = name.get_workflow_schedule_token_name() tokens = self._store.read_tokens(name_prefix=schedule_token_name) if tokens: for token in tokens: if token.name == schedule_token_name: schedule = pickle.loads(token.data) overrun_policy_help = OverrunPolicy.get_help( schedule.overrun_policy) return WorkflowScheduleData( next_run_time=schedule.next_run_time, recurrence_seconds=schedule.recurrence_seconds, overrun_policy=schedule.overrun_policy, overrun_policy_help=overrun_policy_help, workflow=schedule.workflow, parser_params=schedule.parser_params, emails=schedule.emails, max_running_instances=schedule.max_running_instances) return None
def _get_schedule_token(): name = Name(workflow='workflow_0') now = int(time.time()) token = Token(name=name.get_workflow_schedule_token_name(), owner='some_owner', expirationTime=now - 10) schedule = WorkflowSchedule(next_run_time=now - 10, recurrence_seconds=10, workflow='workflow_0') token.data = pickle.dumps(schedule) return token
def _get_schedule_token(): name = Name(workflow='workflow_0') now = int(time.time()) token = Token(name=name.get_workflow_schedule_token_name(), owner='some_owner', expirationTime=now - 10) schedule = WorkflowSchedule(next_run_time=now - 10, recurrence_seconds=10, workflow='workflow_0') token.data = pickle.dumps(schedule) return token
def _generate_schedule_tokens(workflows): result = [] for w in range(workflows): next_run_time = time.time() + (365 + w) * 24 * 60 * 60 recurrence = min(365 * 24 * 60 * 60, 60 ** w) workflow = 'workflow_%d' % w schedule = WorkflowSchedule(next_run_time, recurrence_seconds=recurrence, overrun_policy=w % 4, workflow=workflow) name = Name(workflow=workflow) result.append(Token(name=name.get_workflow_schedule_token_name(), version=100000000 * w, owner='some_owner', expirationTime=next_run_time, data=pickle.dumps(schedule))) return result
def _generate_schedule_tokens(workflows): result = [] for w in range(workflows): next_run_time = time.time() + (365 + w) * 24 * 60 * 60 recurrence = min(365 * 24 * 60 * 60, 60**w) workflow = 'workflow_%d' % w schedule = WorkflowSchedule(next_run_time, recurrence_seconds=recurrence, overrun_policy=w % 4, workflow=workflow) name = Name(workflow=workflow) result.append( Token(name=name.get_workflow_schedule_token_name(), version=100000000 * w, owner='some_owner', expirationTime=next_run_time, data=pickle.dumps(schedule))) return result