Constants

botoflow.constants

This module contains various workflow, activity and time constants.

Tasklist settings

botoflow.constants.USE_WORKER_TASK_LIST

Use task list of the ActivityWorker or WorkflowWorker that is used to register activity or workflow as the default task list for the activity or workflow type.

botoflow.constants.NO_DEFAULT_TASK_LIST

Do not specify task list on registration. Which means that task list is required when scheduling activity.

Child workflow termination policy settings

You can learn more about Child Workflows from the official SWF Developer Guide.

botoflow.constants.CHILD_TERMINATE

The child executions will be terminated.

botoflow.constants.CHILD_REQUEST_CANCEL

Request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

botoflow.constants.CHILD_ABANDON

Child policy to abandon the parent workflow. If there are any child workflows still running the will be allowed to continue without notice.

Time multipliers

The time multiplier constants are just an attempt at making setting various workflow or activity timeouts more readable.

Consider the following examples and their readability:

@activities(schedule_to_start_timeout=120,
            start_to_close_timeout=23400)
class ImportantBusinessActivities(object): ...

# using the time multiplier constants
from botoflow.constants import MINUTES, HOURS

@activities(schedule_to_start_timeout=2*MINUTES,
            start_to_close_timeout=30*MINUTES + 6*HOURS)
class ImportantBusinessActivities(object): ...
botoflow.constants.SECONDS

2*SECONDS = 2

botoflow.constants.MINUTES

2*MINUTES = 120

botoflow.constants.HOURS

2*HOURS = 7200

botoflow.constants.DAYS

2*DAYS = 172800

botoflow.constants.WEEKS

2*WEEKS = 1209600