Sequence Jobs. Design issue or not ?
Posted: Tue Nov 25, 2008 4:05 am
Hi all,
Looking for some advise here.
I've searched the site and looked up countless documentation but there doesn't seem to be a lot on using Sequence Jobs. (Or the finer points of using sequence jobs )
I have multiple loops and several nested conditions. I'm having a problem where the sequence job will perform several intereations and then when a nested condition returns true causing the inner loop not to be executed I get log information as follows and the job stops ( Without error )
jCHEOPS_Main_SeqJob_WithProjTypes..JobControl (@Seq_ProjCompleteOrContinue): Note: Sequencer 'Seq_ProjCompleteOrContinue' has been entered from more than one loop context, which may lead to unexpected results
jCHEOPS_Main_SeqJob_WithProjTypes..JobControl (@Coordinator): Note: Loop 'LoopCompanyCodes' was started, but did not complete all its iterations
jCHEOPS_Main_SeqJob_WithProjTypes..JobControl (@Coordinator): Note: Loop 'LoopProjectFiles' was started, but did not complete all its iterations
jCHEOPS_Main_SeqJob_WithProjTypes..JobControl (@Coordinator): Note: Sequencer 'Seq_ProjCompleteOrContinue' was entered, but never exited
Are there limitations on how the Sequencer can be used ?
Here is a overview of the Sequence job.
Loop Companies
(General Job Processing)
Loop Project Files for Companies
(General Processing)
Check if File is Empty (Nested Condition )
if not empty then process otherwise go to sequencer
Loop Projects
Extract Project data
Load Project Data
End projects loop
[b]Sequencer ( Set to Any )[/b]
End Loop Project Files for Companies
End Loop Companies
The nested condition is working correctly and the correct link is being followed, but why does the job packup when the sequencer is entered from this path and not when it is entered post completing the "Loop Projects"
Another way of showing it would be
Condition Nested ------ (No Data Found Link) ------>>> Sequencer (Any)
| ^
| |
| |
+-Data Found --> Loop Project <............................. End Loop
| |
| |
+---> Extract Data --> Load Data ------------------+
(Those bars should line up under the sequencer and end loop )
I have tried another version of the the entire sequence job but removing the "LOOP Project" loop above and just having a couple of exec commands to write to the file system as a debug and then linking to the Sequencer. This seems to work fine.
So is there an issue with having an "End Loop" stage and another job connected to a Sequencer ? Even though I've set the mode to "Any", why would it be concerned with possible incorrect results ?
I would like the "Loop Project" to be skipped over when there are no project files for the Project. I want the flow to go back to the end loop and perform another iteration for the next Project which may or maynot have project files.
Any assistance would be appreciated.
Regards
Nick
Looking for some advise here.
I've searched the site and looked up countless documentation but there doesn't seem to be a lot on using Sequence Jobs. (Or the finer points of using sequence jobs )
I have multiple loops and several nested conditions. I'm having a problem where the sequence job will perform several intereations and then when a nested condition returns true causing the inner loop not to be executed I get log information as follows and the job stops ( Without error )
jCHEOPS_Main_SeqJob_WithProjTypes..JobControl (@Seq_ProjCompleteOrContinue): Note: Sequencer 'Seq_ProjCompleteOrContinue' has been entered from more than one loop context, which may lead to unexpected results
jCHEOPS_Main_SeqJob_WithProjTypes..JobControl (@Coordinator): Note: Loop 'LoopCompanyCodes' was started, but did not complete all its iterations
jCHEOPS_Main_SeqJob_WithProjTypes..JobControl (@Coordinator): Note: Loop 'LoopProjectFiles' was started, but did not complete all its iterations
jCHEOPS_Main_SeqJob_WithProjTypes..JobControl (@Coordinator): Note: Sequencer 'Seq_ProjCompleteOrContinue' was entered, but never exited
Are there limitations on how the Sequencer can be used ?
Here is a overview of the Sequence job.
Loop Companies
(General Job Processing)
Loop Project Files for Companies
(General Processing)
Check if File is Empty (Nested Condition )
if not empty then process otherwise go to sequencer
Loop Projects
Extract Project data
Load Project Data
End projects loop
[b]Sequencer ( Set to Any )[/b]
End Loop Project Files for Companies
End Loop Companies
The nested condition is working correctly and the correct link is being followed, but why does the job packup when the sequencer is entered from this path and not when it is entered post completing the "Loop Projects"
Another way of showing it would be
Condition Nested ------ (No Data Found Link) ------>>> Sequencer (Any)
| ^
| |
| |
+-Data Found --> Loop Project <............................. End Loop
| |
| |
+---> Extract Data --> Load Data ------------------+
(Those bars should line up under the sequencer and end loop )
I have tried another version of the the entire sequence job but removing the "LOOP Project" loop above and just having a couple of exec commands to write to the file system as a debug and then linking to the Sequencer. This seems to work fine.
So is there an issue with having an "End Loop" stage and another job connected to a Sequencer ? Even though I've set the mode to "Any", why would it be concerned with possible incorrect results ?
I would like the "Loop Project" to be skipped over when there are no project files for the Project. I want the flow to go back to the end loop and perform another iteration for the next Project which may or maynot have project files.
Any assistance would be appreciated.
Regards
Nick