Example #1
0
    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
Example #2
0
    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
Example #3
0
 def get_schedules(self):
     """Get all workflow schedules data from the store."""
     tokens = self._store.read_tokens(
         name_prefix=Name.WORKFLOW_SCHEDULE_PREFIX)
     result = []
     for token in tokens:
         schedule = pickle.loads(token.data)
         overrun_policy_help = (
             OverrunPolicy.get_help(schedule.overrun_policy))
         result.append(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 result
Example #4
0
 def get_schedules(self):
     """Get all workflow schedules data from the store."""
     tokens = self._store.read_tokens(
         name_prefix=Name.WORKFLOW_SCHEDULE_PREFIX)
     result = []
     for token in tokens:
         schedule = pickle.loads(token.data)
         overrun_policy_help = (OverrunPolicy.get_help(
             schedule.overrun_policy))
         result.append(
             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 result