检查阻塞的问题

来源:11-6 联调新建小组功能

兰小宇

2019-10-02

老师,在实际项目中,我要怎样才能判断代码那个部分出现了阻塞,在王章查找说是之前有IOLoop.set_blocking_log_threshold这个函数,但是在6.0版本后移除了,换成了IOLoop.add_callback,看文档和源码没看明白这个东西怎么用的?

写回答

2回答

兰小宇

提问者

2019-10-08

老师我问的是tornado框架不是scrapy

0
1
bobby
不好意思 看错了,tornado底层换成asyncio以后,基本上tornado的很多核心功能就成了aysncio了,所以很多功能直接看asyncio的接口就行了,IOLoop.add_callback这个方法就是要把需要执行的方法扔给tornado到线程池中去执行
2019-10-09
共1条回复

bobby

2019-10-08

阻塞的代码你自己就应该知道哪里出现了,因为阻塞的逻辑里面也就几个地方容易出现:1. 数据库操作 2. 文件操作 3. 网络操作。 因为scrapy本身网络请求是自身完成的,所以也就剩下了数据库操作和文件操作了, 入库的时候注意下自己的代码就行了add_callback和run_in_executor是一样的,就是把阻塞的方法交给线程池去执行

0
0

Tornado从入门到进阶 打造支持高并发的技术论坛

异步IO并发编程/Form,ORM/aiomysql、peewee-async/epoll

593 学习 · 350 问题

查看课程