サーバー側でNode.jsを使用して実行される、JavaScriptを使用してデータを変換する柔軟な方法をユーザーに提供します。その設計では、考慮すべき3つの問題があります。
セキュリティ:ネイティブNode.jsライブラリの使用を避けるために 、サンドボックスを使用してセキュリティの問題を解決しました。
リソース:v8オプションを使用して最大メモリ使用量を簡単に設定できます
--max_executable_size
。CPU使用率については、cpulimit
またはを使用して管理する方法を説明しますrenice
が、今はそれほど重要ではありません。時間:スクリプトが空腹のゾンビとして実行されないように、スクリプトの実行時間を制限する必要があります。そして、ここで私は立ち往生しています。
私は次のようなものを試しました:
node -e '
setTimeout(function() {
console.log("timeout");
process.exit;
}, 5000);
console.log("begin");
while (1);
'
しかし、このコードは「開始」のみを表示し、タイムアウトが呼び出されないようです。何か案が ?