@startuml images/02-02_activity.png title Image 2.2: Audit Job Listener (*)-left-> "Wait for Signal" as wait -left->"Found a Signal" -down->if "" as HARVEST_ALL_LOCAL_PIDS then note left: "Is Harvest Signal" partition "Harvest Signal" -right->[yes] "Process Harvest List" end partition -up-> wait endif HARVEST_ALL_LOCAL_PIDS -down->[no] if "" as RETRIEVE_SYSTEMMETADATA then note left: "Is retrieve SystemMetadata Signal" partition "SystemMetadata Signal" -right->[yes] "Process SystemMetadata Signal" end partition -up-> wait end if RETRIEVE_SYSTEMMETADATA -down->[no] if "" as UPDATE_SYSTEMMETADATA then note left: "Is update SystemMetadata Signal" partition "SystemMetadata Update Signal" -right->[yes] "Process SystemMetadata Update Signal" end partition -up-> wait end if UPDATE_SYSTEMMETADATA -down->[no] if "" as ACK_UPDATE then note left: "Is Node Acknowledging Update Signal" partition "Acknowledging Update Signal" -right->[yes] "Process Acknowledging\nUpdate Signal for\nAudit Job" end partition -up-> wait endif ACK_UPDATE -down->[no] if "" as READY_TO_COMMIT then note left: "Is commit SystemMetadata Signal" partition "Commit SystemMetadata Signal" -right->[yes] "Process Commit SystemMetadata Signal" end partition -up-> wait endif READY_TO_COMMIT -down->[no] if "" as ACK_COMMIT then note left: "Is Node Acknowledging Commit Signal" partition "Acknowledge Commit Signal" -right->[yes] "Process Acknowledging Commit\nSignal for Audit Job" end partition -up-> wait endif ACK_COMMIT -down->[no] if "" as RESET_ALL_DATA then note left: "Is Reset All Data Signal" partition "Reset All Data Signal" -right->[yes] "Process Reset All Data" end partition -up-> wait endif RESET_ALL_DATA -down->[no] if "" as RESET_TO_CURRENT_PID then note left: "Is Reset To Current Working Pid Signal" partition "Reset To Current Working Pid Signal" -right->[yes] "Process Reset\nTo Current Working Pid" end partition -up-> wait endif RESET_TO_CURRENT_PID -down->[no] if "" as RESET_TO_NEXT_PID then note left: "Is Reset To Next Working Pid Signal" partition "Reset To Next Working Pid Signal" -right->[yes] "Process Reset\nTo Next Working Pid" end partition -up-> wait endif RESET_TO_NEXT_PID -down->[no] if "" as END_AUDIT_PROCESS then note left: "Is End Audit Process Signal" partition "Audit Process Signal" -right->[yes] "Stop Audit Job" as StopAuditJob end partition -right-> (*) endif END_AUDIT_PROCESS -down->[no] if "" as NODE_FAILURE_SIGNAL then note bottom: "Is Node Failure Signal Signal" -right->[yes] StopAuditJob endif NODE_FAILURE_SIGNAL -right->[no] "Log Unknown Signal" -up-> wait @enduml