1

競合他社が自社の AI (ノード サーバー) を当社のノード サーバーにアップロードできる AI コンペティションを作成しています。当社はそのコードを取り込み、自動化された方法で実行します。

最初のコードのアップロードでは、xxx がポートの場所でchild_process.spawn()実行していました。node server.js xxxスポーンされた子と競合他社の ID をメモリに保存します。彼らが 2 回目のアップロードを行うとき、保存されている子プロセスを競合他社の ID で検索し、process.kill(pid, 'SIGKILL')そのプロセスを呼び出します。

生成された各子に、私が設定したchild.on('close', callback). このコールバックで、ノード サーバーをアップロードしたコード ディレクトリを削除し、新しいコードをコピーして、ノード サーバーを再度起動します。しかし、コード ディレクトリはまだ使用されているため削除できません (EBUSY エラーが発生します)。ノード プロセスを正しく強制終了していないと思います。

これは大丈夫なアプローチですか?もしそうなら、私は何を間違っていますか?

4

0 に答える 0