zoukankan      html  css  js  c++  java
  • asyncio

    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())
  • 相关阅读:
    通用爬虫和聚焦爬虫
    分布式缓存的介绍
    点击按钮执行后台方法
    jsp页面设置绝对路径
    vim调试
    图解Java 垃圾回收机制
    Java String 综述(上篇)
    Java 内部类综述
    深入理解Java类加载器(二):线程上下文类加载器
    深入理解Java类加载器(一):Java类加载原理解析
  • 原文地址:https://www.cnblogs.com/hero799/p/12610622.html
Copyright © 2011-2022 走看看