私はnode.jsと協力しています。これらの複雑な計算を行うために./calculateのような新しいプロセスを開始するようなリクエストがあった場合、そのプロセスを続行しますそれを呼び出したスクリプトは終了しました。 可能ですか?nodejsで新しいプロセスを開始
ありがとうございます。
私はnode.jsと協力しています。これらの複雑な計算を行うために./calculateのような新しいプロセスを開始するようなリクエストがあった場合、そのプロセスを続行しますそれを呼び出したスクリプトは終了しました。 可能ですか?nodejsで新しいプロセスを開始
ありがとうございます。
あなたはネイティブに提供子プロセス設備使用することができます。 http://nodejs.org/api/child_process.html
をし、親プロセスが死んだ場合でも、生きている子プロセスを維持するために、UNIX「nohupは」コマンドを使用します。
これにはさまざまなアプローチがあります。
https://github.com/pgriess/node-webworkerを使用できます。
またははるかに良いhttp://nodejs.org/docs/latest/api/cluster.html#cluster_cluster。
これらのソリューションは、Nodeでサブプロセスを実行する場合は、単純に新しいNodeプロセスを生成し、出力(http://nodejs.org/api/all.html#all_child_process_spawn_command_args_options)ではなくノード-webworkerはその解決策を包むラッパーであり、はるかにクリーンです。
しかし、私は全く待ってはいません。私はサブプロセスを呼びたいと思っています。つまり、メインスクリプトが死んだり、httpサーバが終了したりすると、サブプロセスを続行してもらいたいということです。ありがとうございました。 – Mario
あなたの最後のコメントの後、私はあなたがしたいことをよりよく理解しています。
子プロセスではないプロセスを生成したいとします。これを行うための最善の方法は、それらを実行するために何らかのdemonizierを使用することです。
は永遠を見てください:
https://github.com/nodejitsu/forever
https://github.com/nodejitsu/forever-monitor
これはあなたのための完璧なツールである可能性があります。私はそれを使用したことがないprogramatically、ちょうどcli。しかし、これは私が調べるものです。
パフォーマンスについて話し合うのは良い判断ですか?ありがとうございました – Mario
子プロセスの作成結果が、作成したのと同じ接続で返されるようにしていますか? – Roman
子どもの労働者のプールを作成し、データベース内の待ち行列(例えば、Redisのようなものを使用して)でそれらと通信することができます。これは非常にスケーラブルで弾力性があります。 便利なリンクはほとんどありません。 http://stackoverflow.com/questions/5630208/nodejs-child-processes-exec-can-not-return-nohup-command http://stackoverflow.com/questions/ 4762016/node-js-workers-background-processes – Roman