I was able to reproduce the issue. It seems that the last batch wouldn't be run if the number of processes (jobs) was less than the Number of Processes per FME Process. This could be a bug in the WorkspaceRunner.
@danatsafe, could you please take a closer look at this?
A workaround is to modify the Number of Processes per FME Process so that remainder would not happen. For example, if you set 21 to the parameter in your demo, remainder would be 0 (42 / 21 = 2 remainder 0). However, if the total number of processes is unknown when creating the workspace, set 1 to the parameter, or set Yes to the Wait for Job to Complete.
I was able to reproduce the issue. It seems that the last batch wouldn't be run if the number of processes (jobs) was less than the Number of Processes per FME Process. This could be a bug in the WorkspaceRunner.
@danatsafe, could you please take a closer look at this?
A workaround is to modify the Number of Processes per FME Process so that remainder would not happen. For example, if you set 21 to the parameter in your demo, remainder would be 0 (42 / 21 = 2 remainder 0). However, if the total number of processes is unknown when creating the workspace, set 1 to the parameter, or set Yes to the Wait for Job to Complete.
Thanks for looking into this.
Hi @takashi and @ianashley I see the problem too and have filed FMEENGINE-63048 about the WorkspaceRunner. Fortunately there seems to be an easy work-around: enable feature caching.
@ianashley The problem with the WorkspaceRunner is now fixed in the latest FME 2020 betas. For FME 2019, enabling feature caching should work around it, or adding a Logger or even a Junction to the Summary port.