def main(): """ This is the main entry point for the program. """ # Create the queue of 'work' work_queue = queue.Queue() # Put some 'work' in the queue for work in [15, 10, 5, 2]: work_queue.put(work) tasks = [task("One", work_queue), task("Two", work_queue)] # Run the tasks et = ET() done = False while not done: for t in tasks: try: next(t) except StopIteration: tasks.remove(t) if len(tasks) == 0: done = True print(f"\nTotal elapsed time: {et():.1f}")
async def task(name, work_queue): while not work_queue.empty(): delay = await work_queue.get() et = ET() print(f"Task {name} running") await asyncio.sleep(delay) print(f"Task {name} total elapsed time: {et():.1f}")
async def main(): """ This is the main entry point for the program """ # Create the queue of 'work' work_queue = asyncio.Queue() # Put some 'work' in the queue for url in [ "http://google.com", "http://yahoo.com", "http://linkedin.com", "http://apple.com", "http://microsoft.com", "http://facebook.com", "http://twitter.com", ]: await work_queue.put(url) # Run the tasks et = ET() await asyncio.gather( asyncio.create_task(task("One", work_queue)), asyncio.create_task(task("Two", work_queue)), ) print(f"\nTotal elapsed time: {et():.1f}")
def main(): """ This is the main entry point for the program. """ # Create the queue of 'work' work_queue = queue.Queue() # Put some 'work' in the queue for url in [ "http://google.com", "http://yahoo.com", "http://linkedin.com", "http://apple.com", "http://microsoft.com", "http://facebook.com", "http://twitter.com" ]: work_queue.put(url) tasks = [task("One", work_queue), task("Two", work_queue)] # Run the tasks et = ET() done = False while not done: for t in tasks: try: next(t) except StopIteration: tasks.remove(t) if len(tasks) == 0: done = True print(f"\nTotal elapsed time: {et():.1f}")
def main(): """ This is the main entry point for the program """ # create the queue of 'work' work_queue = queue.Queue() # put some 'work' in the queue for url in [ "http://google.com", "http://yahoo.com", "http://linkedin.com", "http://shutterfly.com", "http://mypublisher.com", "http://facebook.com" ]: work_queue.put(url) # run the tasks et = ET() tasks = [ gevent.spawn(task, 'One', work_queue), gevent.spawn(task, 'Two', work_queue) ] gevent.joinall(tasks) print() print(f'Total elapsed time: {et():.1f}')
def main(): """ This is the main entry point for the program """ # create the queue of 'work' work_queue = queue.Queue() # put some 'work' in the queue for url in [ b"http://google.com", b"http://yahoo.com", b"http://linkedin.com", b"http://shutterfly.com", b"http://mypublisher.com", b"http://facebook.com" ]: work_queue.put(url) # run the tasks et = ET() # create cooperator coop = task.Cooperator() defer.DeferredList([ coop.coiterate(my_task('One', work_queue)), coop.coiterate(my_task('Two', work_queue)), ]).addCallback(lambda _: reactor.stop()) # run the event loop reactor.run() print() print(f'Total elapsed time: {et():.1f}')
def main(): """ This is the main entry point for the program """ # create the queue of 'work' work_queue = queue.Queue() # put some 'work' in the queue for work in [15, 10, 5, 2]: work_queue.put(work) tasks = [ task('One', work_queue), task('Two', work_queue) ] # run the scheduler to run the tasks et = ET() done = False while not done: for t in tasks: try: next(t) except StopIteration: tasks.remove(t) if len(tasks) == 0: done = True print() print('Total elapsed time: {}'.format(et()))
def task(name, queue): while not queue.empty(): delay = queue.get() et = ET() print(f"Task {name} running") time.sleep(delay) print(f"Task {name} total elapsed time: {et():.1f}") yield
def task(name, work_queue): while not work_queue.empty(): url = work_queue.get() print(f'Task {name} getting URL: {url}') et = ET() requests.get(url) print(f'Task {name} got URL: {url}') print(f'Task {name} total elapsed time: {et():.1f}')
def my_task(name, queue): if not queue.empty(): while not queue.empty(): url = queue.get() print(f'Task {name} getting URL: {url}') et = ET() d = getPage(url) d.addCallback(success_callback, name, url, et) yield d
def task(name, work_queue): with requests.Session() as session: while not work_queue.empty(): url = work_queue.get() print(f"Task {name} getting URL: {url}") et = ET() session.get(url) print(f"Task {name} total elapsed time: {et():.1f}") yield
async def task(name, work_queue): async with aiohttp.ClientSession() as session: while not work_queue.empty(): url = await work_queue.get() print(f"Task {name} getting URL: {url}") et = ET() async with session.get(url) as response: await response.text() print(f"Task {name} total elapsed time: {et():.1f}")
def my_task(name, work_queue): try: while not work_queue.empty(): url = work_queue.get() print(f'Task {name} getting URL: {url}') et = ET() yield getPage(url) print(f'Task {name} got URL: {url}') print(f'Task {name} total elapsed time: {et():.1f}') except Exception as e: print(str(e))
def task(name, work_queue): while not work_queue.empty(): count = work_queue.get() total = 0 et = ET() for x in range(count): print(f'Task {name} running') time.sleep(1) total += 1 print(f'Task {name} total: {total}') print(f'Task {name} total elapsed time: {et():.1f}')
async def main(): """ This is the main entry point for the program """ # Create the queue of 'work' work_queue = asyncio.Queue() # Put some 'work' in the queue for work in [15, 10, 5, 2]: await work_queue.put(work) # Run the tasks et = ET() await asyncio.gather( asyncio.create_task(task("One", work_queue)), asyncio.create_task(task("Two", work_queue)), ) print(f"\nTotal elapsed time: {et():.1f}")
def main(): """ This is the main entry point for the programWhen """ # create the queue of 'work' work_queue = queue.Queue() # put some 'work' in the queue for work in [15, 10, 5, 2]: work_queue.put(work) # run the tasks et = ET() tasks = [ gevent.spawn(task, 'One', work_queue), gevent.spawn(task, 'Two', work_queue) ] gevent.joinall(tasks) print() print(f'Total elapsed time: {et():.1f}')
def main(): """ This is the main entry point for the program """ # create the queue of 'work' work_queue = queue.Queue() # put some 'work' in the queue for url in [ "http://google.com", "http://yahoo.com", "http://linkedin.com", "http://shutterfly.com", "http://mypublisher.com", "http://facebook.com" ]: work_queue.put(url) tasks = [ task('One', work_queue), task('Two', work_queue) ] # run the scheduler to run the tasks et = ET() done = False while not done: for t in tasks: try: next(t) except StopIteration: tasks.remove(t) if len(tasks) == 0: done = True print() print(f'Total elapsed time: {et():.1f}')