I have the following code:
async some_callback(args):
    await some_function()
and I need to give it to a Thread as a target:
_thread = threading.Thread(target=some_callback, args=("some text"))
_thread.start()
The error that I get is “some_callback is never awaited”.
Any ideas how can I solve this problem?
Advertisement
Answer
You can do it by adding function between to execute async:
async def some_callback(args):
    await some_function()
def between_callback(args):
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    loop.run_until_complete(some_callback(args))
    loop.close()
_thread = threading.Thread(target=between_callback, args=("some text"))
_thread.start()
