2017-03-29 18 views
0

githubから継続的なデプロイメントをセットアップしたWebアプリケーションがあります。しかし、私はこのアプリにいくつかのワーカーの役割を追加するつもりです、私は物事のカップルが不思議です。私はNode.jsを使用しています。 ProcfileはWebおよび労働者dynosの#を持っているでしょうgithubからhelokuにwebappとworkerをデプロイ

  • :私の心の中で

    は、私のようなデザインを持っていました。

  • ワーカータイプは異なる展開にすることができますが、私はそれが異なる開始コマンドを持っていることがわかります。これはパッケージ管理とどのように機能しますか?ワーカーの役割に必要なものがWebアプリケーションのものと異なる場合はどうなりますか?

私の質問は?

  • 私は同じリポジトリを使用し、ワーカーとウェブコードが同じ場所に維持されるように構造化できますか?私はapp.jspackage.jsonのファイルを持っているので、私は同じリポジトリにそれらを持っているので、彼らの依存関係は異なって管理されている/web/workerフォルダをルートに持つことができます。 Herokuに展開するときにこの作業を行うにはどうすればよいですか?
  • ビルドパックを使用してWebアプリケーションにインストールしたサードパーティのライブラリがありますが、それらをワーカーの役割に入れたいと思っています。これらは私がやりたい計算の一部に必要なので、デキューとプロセスにworkerロールを使用する予定です。ワーカーの役割にビルドパックをインストールする方法はありますか?
  • Procfileでこれを管理する正しい方法は何ですか? procファイルに必要な作業者の役割の数を設定することはできますか?コマンドラインを使用して拡大/縮小する必要がありますか?

答えて

1

これは完全に可能です。依存関係を管理するには、グローバルなpackage.jsonファイルを用意してください(従業員とWebの役割で別々の依存関係を管理することはできません)。 package.jsonが、私が直面している問題だったNode.Jsを使用していることを英雄が検出するのに十分でない場合、 heroku/nodejsのビルドパックを追加してください。どのビルドパックがインストールされていても、それはワーカーの役割で利用できます。

異なるディレクトリに関しては、これは私が今持っているものです。

/web 
/worker 
/package.json 
/Procfile 

そして、私のprocfileは次のとおりです。起動時の問題を修正するように見えた

web: npm start --prefix /web 
worker: npm start --prefix /worker 

。 Procfileに#of dynosを設定する方法はありません。

関連する問題