zoukankan      html  css  js  c++  java
  • python asyncio 关闭task

    import asyncio
    import time
    
    async def get_html(sleep_times):
        print("waiting")
        await asyncio.sleep(sleep_times)
        print("done after {}s".format(sleep_times))
    
    
    if __name__ == "__main__":
        task1 = get_html(2)
        task2 = get_html(3)
        task3 = get_html(3)
    
        tasks = [task1, task2, task3]
    
        loop = asyncio.get_event_loop()
    
        try:
            loop.run_until_complete(asyncio.wait(tasks))
        except KeyboardInterrupt as e:
            all_tasks = asyncio.Task.all_tasks()
            for task in all_tasks:
                print("cancel task")
                print(task.cancel())
            loop.stop() # 只是将stopping的标记置位true
            loop.run_forever() # 在stop后一定要运行这段代码,不然会抛异常
        finally:
            loop.close() # 里面更多的逻辑,真正的关闭
  • 相关阅读:
    第四周作业
    第三周作业
    第二周作业
    7-1,求最大值及下标值
    7-1.查找整数
    打印沙漏
    赚了还是亏了
    秋末学期总结
    机器学习小知识
    python 小知识
  • 原文地址:https://www.cnblogs.com/callyblog/p/11218228.html
Copyright © 2011-2022 走看看