场景:runtime 需要执行用户的函数,因此需要控制用户函数的执行时间
方案 1:使用 setTimeout,这个是肯定不行的,如果用户是同步函数要执行完才会执行到 setTimeout 的回调
方案 2:使用 runInNewContext,这个 node 方法可以控制同步函数的超时跳出,但是异步就没有办法监控了,而且这个很影响性能
问题:nodejs 如果控制用户函数的执行时间呢?
求大佬点拨一下
1
EPr2hh6LADQWqRVH 2021-05-18 11:37:17 +08:00 1
去外面控制,进程层次控制,进程调度搞一下
|
2
ch2 2021-05-18 11:45:43 +08:00 1
一般是用 docker 控制的
|
4
ysc3839 2021-05-19 00:51:53 +08:00 via Android
JavaScript 似乎没有内置沙盒功能吧?你要限制运行时间的话只能起一个新的运行环境来跑。
|