in functions/orchestration-helpers/pipeline-executor/main.py [0:0]
def main(request):
"""
Main function, likely triggered by an HTTP request
its main responsibility is to trigger a cloud workflows pipeline, parsing start and end
execution dates, and logging to bigquery control table.
Args:
request: The incoming HTTP request object.
"""
event = request.get_json()
print("event: " + str(event))
start_date = event.get('start_date')
end_date = event.get('end_date')
workflows_name = event.get('workflows_name')
validation_date_pattern = event.get('validation_date_pattern')
same_day_execution = event.get('same_day_execution', 'YESTERDAY')
workflow_status = event.get('workflow_status')
workflow_properties = event.get('workflow_properties')
execution_id = 0
try:
if workflow_status == "ENABLED":
execution_id = call_workflows(workflows_name, start_date, end_date,
validation_date_pattern, workflow_properties,
same_day_execution)
else:
print('Workflow Disabled')
return execution_id
except Exception as ex:
exception_message = "Exception : " + repr(ex)
error_client.report_exception()
logger.error(exception_message)
print(RuntimeError(repr(ex)))
return exception_message, 500