In Python, how can I asynchronously await a FutureResult (returned from matlab.engine.start_matlab with background=True)?
Show older comments
In Python, I would like to be able to do something like this, within an async coroutine:
future_result = matlab.engine.start_matlab(background=True)
await future_result.wait()
As far as I can tell, the future_result.result() method will block until the result is ready, so that will not suffice. I could implement the async await with extra code like
await asyncio.get_running_loop().run_in_executor(
None, lambda: matlab.engine.start_matlab(background=True)
)
but it would be nice to have it built-in.
2 Comments
Manikanta Aditya
on 22 Mar 2024
You can use the asyncio library’s wrap_future function to convert a concurrent.futures. Future object into an asyncio.Future object. This allows you to use the await keyword with it.
Answers (0)
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!