Пример #1
0
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')
Пример #2
0
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())
Пример #3
0
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')
Пример #4
0
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}')
Пример #5
0
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}')
Пример #6
0
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))
Пример #7
0
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()