I am using the builtin multiprocessing function within python to launch multiple fme workspaces using FME objects. I am constrained to 7 processes at once due to FME not grabbing another available license when trying to launch the 8th process. Is there any way to use more than one license with FMEObjects?
Just out of curiousity, does it actually grab 7 licences?
The WorkspaceRunner defaults to 7 simultaneous processes, I'm wondering if a similar default is in FME Objects.
FME allows 8 simultaneous processes on a single license. FMEObjects is just an interface to FME itself, so when FMEObjects is called in your Python, an FME session is created, which consumes a license. The FMEObjects session is created whenever an FME Object is created and it is destroyed when the last FME Object goes out of scope. The second, third, etc FME Object that is created will increment the reference count on the original session. The FMEWorkspaceRunner processes are run within the same session, which allows them to use the same license, but limits you to seven additional processes (on top of the FMEObjects session).
To run an unlimited number of processes, a better solution may be to submit them to FME Server instead of running them with the FMEWorkspaceRunner. FME Server will automatically queue the jobs as needed, and you can both submit jobs and check on their progress through the FME Server REST API.