I have a fairly lengthy job with a large number of tasks, which at any given point in time will have a sizeable subset of the tasks disabled. I want to condition some of the tasks on successful completion of previous tasks. Here is an abbreviated version of my job:
Task 1: Query database with Query#1
Task 2: Wait 5 seconds (condition set #5)
Task 3: Query database with Query#2
Task 4: Wait 5 seconds (condition set #5)
Task 5: Query database with Query#3 (disabled)
Task 6: Wait 5 seconds (condition set #5) (disabled)
Task 7: Query database with Query#4 (disabled)
Task 8: Wait 5 seconds (condition set #5) (disabled)
Task 9: Create temp folder based on timestamp
Tasks 10-13: Set job variables for Filename#1 - Filename#4
Task 14: Write output from Query #1 to Filename #1 in temp folder (condition set #1)
Task 15: Append output from Query #1 to Filename #1 in archive folder (condition set #1)
Task 16: Write output from Query #2 to Filename #2 in temp folder (condition set #2)
Task 17: Append output from Query #2 to Filename #2 in archive folder (condition set #2)
Task 18: Write output from Query #3 to Filename #3 in temp folder (condition set #3)
Task 19: Append output from Query #3 to Filename #3 in archive folder (condition set #3)
Task 20: Write output from Query #4 to Filename #4 in temp folder (condition set #4)
Task 21: Append output from Query #4 to Filename #4 in archive folder (condition set #4)
Task 22: E-mail all files from temp folder to a distribution list (condition set #5) (disabled)
Task 23: E-mail all files from temp folder to developer (condition set #5)
Condition set #1
Conditions
Task #1 completed successfully
Task #1 output includes text string indicating query returned some rows
Previous task completed successfully
Actions
Match all: Continue
Match at least one: Continue
Match none: Next
Match Error: Next
Condition set #2
Conditions
Task #2 completed successfully
Task #2 output includes text string indicating query returned some rows
Previous task completed successfully
Actions
Match all: Continue
Match at least one: Continue
Match none: Next
Match Error: Next
Condition set #3
Conditions
Task #3 completed successfully
Task #3 output includes text string indicating query returned some rows
Previous task completed successfully
Actions
Match all: Continue
Match at least one: Continue
Match none: Next
Match Error: Next
Condition set #4
Conditions
Task #4 completed successfully
Task #4 output includes text string indicating query returned some rows
Previous task completed successfully
Actions
Match all: Continue
Match at least one: Continue
Match none: Next
Match Error: Next
Condition set #5
Conditions
Previous task completed successfully
Match all: Continue
Match at least one: Continue
Match none: Wait 1 second and retry
Match Error: Exit
I still want to tweak my conditions somewhat to get the flow I actually want, but the question is why I am not getting any executions after task #17 - in particular, task #23 is not executing.
I turned on extended debug logging for condition #3 and #4, and this is what I see:
5/10/2018 12:33:57 PM Info Task completed (Success)->'Append output from Query #2 to Filename #2 in archive folder' (2750765)
5/10/2018 12:33:57 PM Debug PrevTaskProcess(Append output from Query #2 to Filename #2 in archive folder)->ExitCodeResult: Success (ECCId: 746c95ce-d394-491c-925c-8bd50e4daa8ePId: 2750765, Exit code: 0)
5/10/2018 12:33:57 PM Debug Found 1 matching flows. (2750765)
5/10/2018 12:33:57 PM Debug Calling GetNextTaskProcess()
5/10/2018 12:33:57 PM Debug Next Task is: Write output from Query #3 to Filename #3 in temp folder
5/10/2018 12:33:57 PM Debug Running Condition Set: 'Condition set #3' for Task: Write output from Query #3 to Filename #3 in temp folder
5/10/2018 12:33:57 PM Debug VisualCron Condition (TaskExitCodeIs->MatchIsNot) returned: NoMatch
5/10/2018 12:33:57 PM Err Error in JobProcess (Run.TaskRunQueue), ex: Object reference not set to an instance of an object.
5/10/2018 12:33:57 PM Debug Next execution (2) for Job 'My Misbehaving Job' is: 5/10/2018 4:00:00 PM
5/10/2018 12:33:57 PM Debug SendJobStats->Ended (5/10/2018 12:33:16 PM)
5/10/2018 12:33:57 PM Info Job completed (Success)->'My Misbehaving Job'
5/10/2018 12:34:01 PM Info JobAPI->Save->Saving Jobs (40) - in shut down: False
What am I overlooking?