```graphviz digraph hierarchy { nodesep=1.0 // increases the separation between nodes node [color=Red,fontname=Courier,shape=box] //All nodes will this shape and colour edge [color=Blue, style=dashed] //All the lines look like this Headteacher->{Deputy1 Deputy2 BusinessManager} Deputy1->{Teacher1 Teacher2} BusinessManager->ITManager {rank=same;ITManager Teacher1 Teacher2} // Put them on the same level } ``` ```graphviz digraph hierarchy { nodesep=1.0 // increases the separation between nodes BeamOperator->BeamHook_start_job BeamHook_start_job->BeamRunner_start_process BeamHook_start_job->DataflowHook_wait_for_pipeline DataflowHook_wait_for_pipeline->DataflowController_wait_for_pipeline } ``` ```python def start_job(runner): job_id = None if runenr == 'dataflow': on_line_changer = lambda s: job_id = DataflowHook.extract_job_id(s) else: on_line_change = lambda s: pass BeamRunnner.start_process(on_line_changer=on_line_changer) if runner == 'dataflow': DataflowHook.wait_for_pipeline(dataflow) ```