Per issue #14, this adds the ability to choose to asynchronously execute a knime.Workflow.
The current api should be considered against alternatives:
current api: execute(asynchronous=True) returns an AsyncJob object
another option: don't return something from execute but instead add a method async_execute to knime.Workflow
yet another option: don't permit asynchronous launching of jobs from the knime.Workflow class, making it only possible to do so from AsyncJob
It is perhaps a natural follow-on to add async job support for local workflows to mirror the api decided upon here but that is outside the scope of this current effort.
Open question: when implementing the rest of AsyncJob functionality to wait on results to be available, should Python's asyncio be used in the implementation?
Per issue #14, this adds the ability to choose to asynchronously execute a
knime.Workflow
.The current api should be considered against alternatives:
execute(asynchronous=True)
returns anAsyncJob
objectexecute
but instead add a methodasync_execute
toknime.Workflow
knime.Workflow
class, making it only possible to do so fromAsyncJob
It is perhaps a natural follow-on to add async job support for local workflows to mirror the api decided upon here but that is outside the scope of this current effort.