No project description provided
Project description
toasync
Convert sync function to async function and start at same time
from time import sleep, time
import asyncio
from toasync import async_
@async_
def func(name, i=1):
print('Start function {}'.format(name))
sleep(1)
print('Done function {}'.format(name))
if __name__ == '__main__':
coroutine = asyncio.gather(
func()('1'),
func()('2'),
func()('3'),
)
start_time = time()
asyncio.get_event_loop().run_until_complete(coroutine)
print('Process take {} sencond'.format(time-start_time))
then
Start function 1
Start function 2
Start function 3
Done function 2
Done function 1
Done function 3
Process take 1.007418155670166 sencond
If run function as synchronous, you can call delay
method
from time import sleep
from toasync import async_
@async_
def func(name, i=1):
print('Start function {}'.format(name))
sleep(1)
print('Done function {}'.format(name))
if __name__ == '__main__':
func().delay('1')
func().delay('2')
func().delay('3')
then
Start function 1
Done function 1
Start function 2
Done function 2
Start function 3
Done function 3
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
toasync-0.0.1.tar.gz
(1.6 kB
view hashes)