python tornado 进行大量sql写入操作 导致其他请求全部阻塞 是我方法...
发布网友
发布时间:2022-04-30 08:16
我来回答
共2个回答
热心网友
时间:2022-05-03 12:22
tornado是单进程单线程的服务器,如果是同步请求,一个长时间的请求没结束,就不能去处理其他的请求,可是tornado支持异步请求,就是当我们在等待结果的时候不阻塞,增加一个回调函数作为参数,在有结果的时候通过回调函数进行通知。这样,服务器就可以去接受其他的请求了。
至于php,可以看看php-fpm的配置文件,那个是多进程来出处理请求的追问非常感谢 ,正如你所有 只要一做耗时的操作 之后所有的请求就都被阻塞了。 看文档有一个关于异步请求的代码 他是调用API的例子,您能否再给出一个例子呢。
这阻塞问题困扰好多天了 想尽快解决 非常感谢!
热心网友
时间:2022-05-03 13:40
别用tornado直接导入大数数据了。直接用mysql的命令行工具做。大家都是这么干的。用程序生成sql语句。然后用mysql命令行导入。速度很快。
至于一般的访问tornado是可以的。阻塞,我以前也在其它的框架里遇到过。还是程序的BUG。仔细找一下。
是否是因为某些字段不合法,或者是中文处理问题,或者是序列化问题,类型问题等等。从而导致tornado的连接池没有响应。