3

構築したいくつかのWebサービスに依存するrubyアプリがあります。

一緒に始めるために、私は次のProcfileを持っています:

mondodb: /home/dwaynemac/mongodb/bin/mongod 
accounts: ./script/start_accounts.sh
contacts: ./script/start_contacts.sh
activity: ./script/start_activity_stream.sh
web: ./script/start.sh

このstart_xxx.shスクリプトはそれぞれ、次のように動作します。

cd ../activity_stream; bundle exec unicorn -p 3003 -c ./config/unicorn.rb

これらの前の行を手動で実行すると、activity_streamは正常に実行されます。しかし、職長から逃げたとき、いくつかの宝石は認識されません。バンドルが正しく構築されていないかのように。

エラーの例:

activity_stream/config/boot.rb:2:in `require': no such file to load -- grape (LoadError)
4

2 に答える 2

6

下請け業者のgemを使用して、作業ディレクトリを変更します。

image_fallback: subcontract -d lib/rack/img_fallback/ -- bundle exec unicorn -c unicorn.conf config.ru
于 2012-11-01T03:02:11.410 に答える
1

起動するアプリごとに新しいbashシェルを使用する必要があります。

# Procfile
app1: sh -c 'cd path/to/app1 && bundle exec rackup config.ru -p $PORT'
app2: sh -c 'cd path/to/app2 && bundle exec rackup config.ru -p $PORT'

次に、職長を使用します

foreman start --procfile path/to/Procfile

詳細はこちらhttp://www.seanbehan.com/how-to-boot-up-multiple-sinatra-applications-at-the-same-time-with-foreman

于 2013-10-15T23:33:26.713 に答える