Encoding queue logic

I can’t seem to understand the encoding queue logic.

If I have configured batch to run 4 ffmpeg simultaneously

And I have uploaded 3 video files at once.
each of them should be transcoded to 3 different flavors (9 flavors together).

what is the logic?

I want the batch server to finish the 3 flavors of the first video first but it is not always the case.