码迷,mamicode.com
首页 > 其他好文 > 详细

asyncio

时间:2020-04-01 10:29:50      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:oop   result   效果   tool   csharp   while   fun   creat   page   

 

import asyncio
import random
import functools


def page_done(url,task):
    print(‘下载结束:‘,url)
    print(‘task‘,task.result()) ##task.result() 获取回调内容


async def cron_scheduler():
    page = 1
    while True:
        url = ‘{}/{}‘.format(‘https://www.baidu.com‘,page)
        job = cron_job(url)
        task = asyncio.ensure_future(job)  ##创建协程对象,并且加入到监控容器
        #task = asyncio.create_task(job)  效果跟ensure_future其实是一样的,在高版本3.7采用
        task.add_done_callback(functools.partial(page_done,url)) ##创建回调函数
        await asyncio.sleep(0.3)
        page += 1


async def  cron_job(url):
    n =random.randint(2,6)
    await asyncio.sleep(n)
    print(‘正在下载:‘,url)
    return url

loop = asyncio.get_event_loop()
loop.run_until_complete(cron_scheduler())

  


import asyncio
import random
import functools


def page_done(url,task):
print(‘下载结束:‘,url)
print(‘task‘,task.result()) ##task.result() 获取回调内容


async def cron_scheduler():
page = 1
while True:
url = ‘{}/{}‘.format(‘https://www.baidu.com‘,page)
job = cron_job(url)
task = asyncio.ensure_future(job) ##创建协程对象,并且加入到监控容器
#task = asyncio.create_task(job) 效果跟ensure_future其实是一样的,在高版本3.7采用
task.add_done_callback(functools.partial(page_done,url)) ##创建回调函数
await asyncio.sleep(0.3)
page += 1


async def cron_job(url):
n =random.randint(2,6)
await asyncio.sleep(n)
print(‘正在下载:‘,url)
return url

loop = asyncio.get_event_loop()
loop.run_until_complete(cron_scheduler())

asyncio

标签:oop   result   效果   tool   csharp   while   fun   creat   page   

原文地址:https://www.cnblogs.com/hero799/p/12610622.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!