RT ,场景是这样的:
我们有需求是按照用户输入的特定条件,构造 MongoDB 的 JavaScript 查询脚本,然后使用 mongo a.js
这样的命令进行执行。在 JS 脚本里面会调用 connect 连接库和认证。
有时候用户输入的条件比较模糊,我们的查询可能需要很多时间,这个时候会比较浪费 CPU ,我想做一个功能监控这个 mongo 进程的执行时间,比如 120s 之后还在执行就 kill 这个进程。实际上也做了,但是发现 kill 了 mongo 进程之后, MongoDB 的 server 端进程还是 100% 在跑着。想达到的最终目的是 MongoDB server 的这个进程也能把当前查询任务停掉。
查了一些资料,看 MongoDB 有 db.killOp
的函数可以用,但是令人发愁是我的客户端 JS 脚本( a.js )根本没法获取当前的 Operation ID 。求各位有 MongoDB 经验的看看这个问题怎么解。
1
int64ago 2016-02-22 00:11:10 +08:00 1
|