Skip to main content

asyncio concurrent task in loop in python 3.7

import asyncio
import time

async def say_after(delay, what):
    print(f"Req time at {time.strftime('%X')} for "+ what)
    await asyncio.sleep(delay)
    # print(what)
    print(f"Return time at {time.strftime('%X')} for "+ what + " delay = "+ str(delay))
    return ("hero , delay = " + str(delay)+ " value = "+ what )

async def main():
    # task1 = asyncio.create_task(
    #     say_after(1, 'hello'))
    #
    # task2 = asyncio.create_task(
    #     say_after(2, 'world'))

    print(f"started at {time.strftime('%X')}")
    tasks = []
    loop: AbstractEventLoop = asyncio.get_event_loop()
    for i in range(5):
        tasks.append(asyncio.create_task(
        say_after(i+1, 'pila')
        ))
        # print( val + "")

    for task in tasks:
        # print( await task)
        print(await task)
    # Wait until both tasks are completed (should take
    # around 2 seconds.)
    # print(await task1)
    # print(await task2)

    print(f"finished at {time.strftime('%X')}")

asyncio.run(main())

Comments

Popular posts from this blog

Gui logging in node js and python

For node.js Use  frontail for logging https://www.npmjs.com/package/frontail For Python -- use Cutelog https://pypi.org/project/cutelog/ In NodeJs for using frontail we need to use log the logs in a file for logging logs to file , we will use winston Using winston https://www.npmjs.com/package/winston Eg. of using winstonconst { createLogger, format, transports } = require('winston'); const { combine, timestamp, label, prettyPrint } = format; const logger = createLogger({   level: 'info',   format: format.json(),   transports: [     //     // - Write to all logs with level `info` and below to `combined.log`      // - Write all logs error (and below) to `error.log`.     //     new transports.File({ filename: 'error.log', level: 'error' }),     new transports.File({ filename: 'combined.log' })   ] }); logger.log({   level: 'info',   message: 'What time is...

fork and sync a github project to bitbucket

First create an empty repository on Bitbucket. Then clone it locally git clone git@bitbucket.org:benlongstaff/forked-repo.git cd forked-repo Now add Github repo as a new remote in Bitbucket called “sync” git remote add sync git@github.com:something/original-repo.git Verify the remotes, it should look something like Summer:forked-repo benlongstaff$ git remote -v origin git@bitbucket.org:benlongstaff/forked-repo.git (fetch) origin git@bitbucket.org:benlongstaff/forked-repo.git (push) sync git@github.com:something/original-repo.git (fetch) sync git@github.com:something/original-repo.git (push) Pull from the master branch in the sync remote. git pull sync master Setup a local branch to track the sync remote’s master branch git branch --track github-master sync/master Push the local master branch to the origin remote in Bitbucket. git push -u origin master To merge in changes from the original repo pull them down into the  github-master  branch and then rebas...

opening multiple ports tunnels ngrok in ubuntu

Location for the config yml file /home/example/.ngrok2/ngrok.yml content of config file authtoken: 4nq9771bPxe8ctg7LKr_2ClH7Y15Zqe4bWLWF9p tunnels: app-foo: addr: 80 proto: http host_header: app-foo.dev app-bar: addr: 80 proto: http host_header: app-bar.dev how to start ngrok with considering the config file: ngrok start --all