OpenShift 環境で、2 つの NodeJS プロセス (nodejs 公式カートリッジから) をそれぞれ独自の起動ファイルで実行するにはどうすればよいですか?
基本的に、ジョブをキューに入れることがある Web アプリケーションを作成したいと考えています。Web リクエストを処理するプロセスとジョブ処理を処理するプロセスの 2 つのプロセスが必要だと考えました。
理由はジョブを別工程で処理するのは、ジョブが多いとフロントエンド部分を塞いでしまうのではないかと思うからです。
これらはこれまでの私の解決策です(ただし、それらが良いかどうかは本当にわかりません)
- アクション フック (開始と再起動) から 2 番目のプロセスを生成します。ワーカー プロセスが停止した場合、自動的に再起動されないことが心配です
- メインプロセス呼び出し
fork
orspawn
などから上記と同じ悩み - 2 つのプロセスをまったく使用せず、1 つだけを使用する
その他の詳細:
- ジョブは主に IO です: Google API へのいくつかの HTTP リクエスト (ジョブごとに 5 ~ 10 のリクエスト)、mongodb への 2 つの単純なリクエスト
- 最初はキューに多くのジョブがありませんが、将来的には多くのジョブがある可能性があります
- 並行機能と UI 機能にkueを使用する予定です
- これらはすべて単一のサーバーに保持されます (スケーリングは発生する可能性がありますが、その可能性はほとんどありません)。