async def main_task(): log('start') await write_large() t = asyncio.create_task(wait_jobs()) # async with aiofiles.open('d.txt') as f: # async for line in f: # log(line.strip()) # async with aiofiles.open('d.txt') as f: # log('read-start') # data = await f.read() # log('read-end') # log(f'size:{len(data)/1000}kB') await t log('end')
async def pre_init(): log('Creating aiohttp app') app['RR'] = Gauge('rr', 'test gauge', ['host', 'metric']) # rr = nazwa metryki, host/metric -- nazwy pól buckets = [] for i in range(1,21): buckets.append(0.0001*i) buckets.append(0.1) buckets.append(0.5) buckets.append(1) buckets.append(2) buckets.append(4) app['h'] = Histogram('rx', 'Call execution times', buckets=buckets) asyncio.create_task(update_gauges())
async def main_task(): await job(1) log('job #1 -- after await') log(f'nazwa taska: {task_name()}') t1 = asyncio.create_task(job(2)) # to już jest osobne zakolejkowane _zadanie_ (task) t2 = asyncio.create_task(job(3)) # kolejne niezależne zadanie await asyncio.sleep(0) log('tasks: after create_task') await t1 await t2 log('tasks: after await')
async def job(no): log(f'starting job {no}') await asyncio.sleep( 0.100 * no ) # nieblokujące czekanie: wątek przechodzi do procesowania następnych task-ów log(f'nazwa taska: {task_name()}') log(f'finishing job {no}')
async def job(no): log(f'starting job {no}') await asyncio.sleep( 0.100 * no ) #nieblokujące czekanie: wątek przechodzi do procesowania następnych task-ów time.sleep( 0.100 * no ) # blokujące czekanie: wątek (~~ ten jedyny ~~) się tu zatrzyma; cały świat stoi!! log(f'nazwa taska: {task_name()}') log(f'finishing job {no}')
async def main_task(): log(f'nazwa taska: {task_name()}') t1 = asyncio.create_task( job(2)) # to już jest osobne zakolejkowane _zadanie_ (task) t2 = asyncio.create_task(job(3)) # kolejne niezależne zadanie await asyncio.wait([job(1) for i in range(3)]) log('tasks: after create_task') await t1 await t2 log('tasks: after await') asyncio.create_task(job(10))
async def app_factory(): log('Creating aiohttp app') app['state'] = Counter() return app
async def pre_init(): log('Creating aiohttp app') app['db'] = DB() await db().init()