Anna Geller
08/22/2022, 6:36 PM@task(name = 'send API request')
def post_request_process(process_name:str, arguments:str):
logger = prefect.context.get('logger')
url = "<https://XX.XXX.X.XX>:YYYYY/Process/"
<http://logger.info|logger.info>(f'The url is: {url}')
current_date = pendulum.now("America/Chicago").to_datetime_string()
if process_name:
<http://logger.info|logger.info>(f'Process: {process_name}')
else:
<http://logger.info|logger.info>(f'Who knows?')
with Flow('SOD Loaders CHILD - ',
run_config=run_config) as child_flow:
loggerFlow = prefect.context.get('logger')
procName = Parameter("process_name", default = None)
arguments = Parameter("arguments", default = None)
<http://loggerFlow.info|loggerFlow.info>(f'Child Flow called with procName: {procName}')
run_alloc = post_request_process(process_name=procName, arguments=arguments, upstream_tasks = [procName,arguments])
with Flow('SOD Loaders PARENT',
schedule = Schedule(
clocks = [
CronClock("30 6 * * 1-5",
start_date = pendulum.now("America/Chicago"),
parameter_defaults = {
'process_name':'custodianname',
}),
CronClock("32 6 * * 1-5",
start_date = pendulum.now("America/Chicago"),
parameter_defaults = {
'process_name':'custodianname2'
}),
]
),
run_config = run_config,
storage = CodeCommit( repo = 'repositoryname',
path = 'filename of script',
commit = 'branch',
secrets = ["XYZ"],
client_options = { "region_name":"us-east-2" })
) as parent_flow:
process_name = Parameter("process_name", default=None)
arguments = Parameter("arguments", default=None)
child_flow.name = process_name
loggerFlow = prefect.context.get('logger')
<http://loggerFlow.info|loggerFlow.info>(f'Process Name: {process_name.run()}')
<http://loggerFlow.info|loggerFlow.info>(f'Args: {arguments.run()}')
<http://loggerFlow.info|loggerFlow.info>(f'Called child flow from parent: {child_flow.name}')
child_flow.run(parameters = {
"process_name": process_name,
"arguments":arguments }
)
if __name__ == "__main__":
parent_flow.run(parameters = {"process_name":'Fidelity',"arguments":''}, run_on_schedule = False)
Chris Gunderson
08/22/2022, 6:54 PM