"""release_approval workflow.""" from garcon import runner from activity_detector.flows.base_flow import BaseFlow from activity_detector.flows.release_approval import config from activity_detector.flows.release_approval import tasks class Flow(BaseFlow): """Class representing the workflow.""" timeout = 3600 # 1 hour def __init__(self): """Initialize flow object.""" super(Flow, self).__init__( flow_name=config.SWF_FLOW_NAME, version=config.SWF_FLOW_VERSION) def decider(self, schedule, context): """Activity decider. Args: schedule (callable): The scheduler method. """ schedule('detect_ingested_releases', self.detect_ingested_releases) @property def detect_ingested_releases(self): """Detect ingested releases.""" return self.create( name='detect_ingested_releases', tasks=runner.Sync( tasks.detect_ingested_releases.fill( namespace='detect_ingested_releases')))