route1: /getList, needtime : 2s,
route2: /getDataFromSomeWebsite, needtime : 3min
这种情况下先访问/getDataFromSomeWebsite的情况下(实际上是一个爬虫),在3min中内方位/getList,页面会卡死,直到route2有结果返回。
查了下用child_process开启子进程,但是具体怎么做不清楚,有同僚碰到过类似情况吗?
而且在fork(‘child.js’)子进程中用mongoose.find()导致进程返回不出结果?
1
vietor 2015-05-27 21:43:49 +08:00 via Android
本来就只有一个处理线程,CPU秘籍肯定阻塞的。
|
2
Mirana 2015-05-27 21:56:17 +08:00
可以用process.nextTick()
|
3
faceair 2015-05-27 22:39:24 +08:00
爬虫要用异步方法写,用 request 库应该是不会卡死的
|