我为我的用户提供了一种使用 JavaScript 转换数据的灵活方法,在服务器端使用 Node.js 执行。采用这种设计,需要考虑 3 个问题:
安全性:我使用沙箱解决了安全问题,以避免使用本机 Node.js 库。
资源:我们可以使用 v8 选项轻松设置最大内存使用量
--max_executable_size
。关于 CPU 使用率,我会看看如何使用cpulimit
or来管理它renice
,现在它并不重要。时间:我需要限制脚本的执行时间,以避免它们像僵尸一样运行。我在这里卡住了。
我尝试了类似的东西:
node -e '
setTimeout(function() {
console.log("timeout");
process.exit;
}, 5000);
console.log("begin");
while (1);
'
但是这段代码只显示“开始”,似乎我的超时从未被调用。任何的想法 ?