Create noblock.py
This commit is contained in:
parent
844d3a4869
commit
ccd6f14efc
13
src/cogs/utils/noblock.py
Normal file
13
src/cogs/utils/noblock.py
Normal file
@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env python3.6
|
||||
# -*- coding: utf-8 -*-
|
||||
import asyncio
|
||||
import functools
|
||||
|
||||
|
||||
def no_block(func):
|
||||
"""Turns a blocking function into a non-blocking coroutine function."""
|
||||
@functools.wraps(func)
|
||||
async def no_blocking_handler(*args, **kwargs):
|
||||
partial = functools.partial(func, *args, **kwargs)
|
||||
return await asyncio.get_event_loop().run_in_executor(None, partial)
|
||||
return no_blocking_handler
|
||||
Loading…
x
Reference in New Issue
Block a user