問題タブ [foreman]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails API アプリ: (No MethodError) foreman start を実行すると
新しい Rails API アプリを作成したばかりで、初めて実行しようとしています。私はフォアマンの宝石をインストールしており、コマンドを使用しています
サーバーを起動しますが、次のエラーが発生します:
gemsetの更新や端末の再起動などを試みました。
しかし、何も機能していません。このエラーの原因の診断を進める方法について、誰かがアイデアを提供できるかどうか疑問に思っています
ありがとう
EDIT ApplicationController.rbの内容は次のとおりです
宝石ファイル:
エラーは、このファイルの 8 行目を指しています: wrap_parameters.rb
ubuntu - ubuntu 10.04 で Foreman start が .profile not found エラーをスローする
私はherokuにフォアマンを使用しようとしています。これは私のセットアップに存在するものです:
- foreman のインストールに Ubuntu 10.04 マシンを使用する
- インストールされている Ruby のバージョン: 1.9.3-p362
- インストールされている Rubygems のバージョンは 1.8.24 です。
正常に動作するサンプルの test.rb ファイルをトリガーできます。以下のコード:
/li>コードでGemfileを作成しました:
/li>コードで Procfile を作成しました: web: bundle exec ruby test.rb -p $PORT
foreman start を発行しました - 以下のように失敗します:
/li>
また、特定のバージョンの foreman (0.60.2) をインストールしましたが、起動時に上記と同じエラーが表示されます。
.profile ファイルは、私のマシンの次の場所にあります。
# ~/.profile: Bourne 互換のログイン シェルによって実行されます。
これは間違ったパス設定が原因でしょうか? フォアマンの開始を妨げているのは何ですか?
- ラメシュ
ruby-on-rails - `wrap_parameters` イニシャライザをコメントアウトしてもよろしいですか?
Rails-API アプリを Foreman と Thin で起動すると、このエラーが発生しました。
initializers/wrap_parameters.rb
デバッグに何時間も費やした後、うまくいかなかったので、最終的にハックを試すことにしました。プロジェクトのファイルのこの行を次のようにコメントアウトしました。
これにより、シンサーバーが起動して実行されるという点で、差し迫った問題が解決されたようです。ただし、これがアプリにどのような影響を与えるかはわかりません。これは Rabl gem を使用して JSON をサーバー化する Rails-API アプリで安全に実行できますか?
Agile Web Development with Rails (Ed. 4)の Active Resources セクションも参照しました。
ruby - 職長は手動パスで開始します
私はherokuでフォアマンを実行しようとしています。これはよくあるエラーですが、まだ解決策が見つかりません。ここには明らかにパスがありません:
"/c/ Program Files /ruby-1.9.2/bin/foreman: "C:/ Program : bad interpreter: no such file or directory
私の質問は、パス全体を手動で追加してこのエラーを回避する方法はありますか? または、どこを調べて変更すればよいですか?ありがとうございました。
jekyll - 複数のjekyllアプリを同時に実行する
複数のjekyllアプリを同時に実行できるかどうか疑問に思っていました。foreman をインストールしましたが、別のアプリ ポートが既に実行されている場合、アプリ ポートを変更できないようです。
現時点では、Procfileでjekyllポートを手動で設定する必要があります
とにかくこれを自動的に行うことは可能ですか?
heroku - カスタムビルドパックを使用する職長
カスタムビルドパックを使用している場合、heroku アプリを foreman でローカルで実行するにはどうすればよいですか? 私は、php と nginx をインストールしてからすべてのプロセスを開始する nginx/php-fpm ビルド パック (https://github.com/travisj/heroku-buildpack-nginx-php) を使用しています。
それをフォアマンで実行するにはどうすればよいですか?私が知っている --buildpack オプションはありません。
ruby-on-rails - Rails:delayed_job / foreman で応答しない localhost をデバッグする方法
Heroku が推奨するように、delayed_job と foreman を使用して最近バックグラウンド タスクに移動した新しいアクティブ レコード レコードを作成するタスクがあります。
これで問題なく動作することもありますが、ブラウザーの Rails アプリが応答しなくなることがあります。
この時点で、遅延したすべてのジョブが完了し、すべての新しいレコードが作成されたことをデータベースから確認できます。
ただし、プロセスを強制終了すると、さらに 11,200 行の端末出力が得られます。これは主に、モデルに対する 2 つのメソッドの Web プロセスによる実行で構成され、どちらもデータベースへの呼び出しを伴います。
プロセスを強制終了する前後でレコード数が変わらないため、すでにデータベースにヒットしていると思われる INSERT ステートメントもいくつかあります。
これが私のProfileです:
web: bundle exec rails server thin -p $PORT -e $RACK_ENV
worker: bundle exec rake jobs:work
そのため、「スタック オーバーフロー」(ウープ) が発生しているように感じます。あなたは何か光を当てることができますか:
- 一般的に何が起こっているのですか?
- Rails でこの「スタック オーバーフロー」が発生している場所
- 「Ctrl + C」を押した後にこれらのことが実際に起こっているのか、それともその時点で端末に出力されているだけなのか?
- 何が原因でしょうか?
- どうすればデバッグ/修正できますか?
アップデート
バックグラウンド タスクによって Web プロセスに割り当てられている特定のタスクがあるようですが、ブラウザが「起動」されるまで実行されません。状況によってはすべて実行されますが、数が多すぎるとアプリが失敗します。これを引き起こしている可能性のあるものについて何か考えはありますか?
アップデート
2 つの別々のウィンドウで Web プロセスとワーカー プロセスを実行してみました。
このシナリオでは、ブラウザーがハングする問題を再現できず、いずれの場合もワーカー プロセスは正常に完了しました。
ただし、ブラウザーに触れないと、Web ウィンドウに出力が表示されないという興味深い観察結果が得られました。ただし、ブラウザーに触れると、その時点でワーカー プロセスが行っていることの何千行もが Web ウィンドウに表示されます。
これは正常ですか?これにより、問題が何であるかが明らかになりますか?
アップデート
プロセスを強制終了した後の端末出力の下部に、「Killed: 9」と表示されます
07:45:21 システム | すべてのプロセスに SIGKILL を送信する
殺された: 9
この 9 は正確には何を指していますか? これは異常ですか?
アップデート
私は使っている:
- 遅延ジョブ 3.0.4
- 遅延ジョブ_アクティブ_レコード 0.3.3
- 遅延した_ジョブ_ウェブ 1.1.2
- 職長 0.60.2
解像度
以下の@Justinの回答(およびこの関連する質問)に感謝します。Ruby はデフォルトで stdout をバッファリングし、このバッファがオーバーフローしてアプリが応答しなくなったようです。$stdout.sync = true
config/environments/development.rb の先頭に追加したところ、問題は解決したようです。
ruby-on-rails - RVM の代わりにコンパイル済みの Ruby を使用すると Encoding::ConverterNotFoundError が発生する原因は何ですか?
私は Mac OS X アプリを構築しており、アプリに Ruby が含まれています。これを行うために、アプリに Ruby を含めます。
ローカル マシンでアプリをテストすると、RVM 制御の Ruby で問題なく動作します
環境変数を変更してコンパイル済みの Ruby を使用すると、次のエラーが発生します (職長が環境変数をロードします)。
ruby-on-rails - フォアマン開発と本番 (レール)
本番環境と開発環境で異なる振る舞いをするための「職長の方法」は何ですか? つまり、フォアマンが dev で一連のものを起動できるようにする必要がありますが、heroku の運用では、(たとえば) solr を起動する必要はありません。
ruby - Foremanを使用して、別のディレクトリにあるRackアプリを起動します
いくつかのプロセスを正常に実行しているProcfileセットアップがあります。
もう1つのプロセスを追加する必要があります。マシンの別のディレクトリにあるSinatraアプリです。ディレクトリにcdすると、ターミナルから次のコマンドで起動できます。
そして、ターミナルを使用して別のディレクトリから開始できます。
しかし、フォアマンを使用してこれをどのように行う必要がありますか。以下を追加しようとしましたが、黙って失敗します。
これも可能ですか?もしそうなら、どのように?