問題タブ [god]
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 - 神とのカスタム「アクション」?
ユニコーン/レスキューなどの管理が簡単になるという理由だけで、私たちは実際に開発環境と本番環境で神を使用しています。
ほとんどの場合、これで十分なので、デフォルトのユニコーン構成を dev の単一のワーカーにスケールダウンしました。ただし、コマンドをラップするシェル スクリプトを追加しました。
神でユニコーンを開始/停止/再起動するのではなく、アドホックシェルスクリプトを介して新しいワーカーを追加するのではなく、次のようないくつかのカスタムコマンドを神にサポートさせる方法はありますか?
ドキュメントを調べたところ、何も見つかりませんでしたが、おそらく「非公式に」できるような気がします。
ruby - 神と初期化スクリプトの問題
神でシンサーバーを監視しています。コマンドラインから次のように神を実行すると:
その後、物事はうまくいきます。
ただし、次のように init スクリプトを使用して神を開始した場合:
うまくいかない。神は、スクリプトがゼロ以外の終了コードで終了したと不平を言っています。
私のinitスクリプトはここにあります:
https://gist.github.com/e99a3dd703d8cfda5d0b
何が問題なのですか?初期化ファイルに問題はありますか?
ruby - 神はユニコーンを止めない
私はこのファイルを持っています
私はユニコーンを開始しgod -c unicorn.god -D -p 8081、私の労働者はうまくセットアップされています。god stop unicorn -p 8081しかし、ユニコーンを(別のコンソールで)停止する必要がある場合がありますが、サーバーは稼働し続けます。
私は何が欠けていますか?
編集
私たちはユニコーンからピューマに移行し (この質問はパフォーマンスの問題だからではありません)、神を使用するつもりはありません...皆さんの助けに感謝します
ruby-on-rails - Rails-神-LoadError
resqueタスクの監視と開始/停止/再開に使用するgodをインストールしました。私が得ている問題は、神の設定ファイルをロードできないことです。
それは私にこのエラーを与えます:
それから私は
ここで何が欠けていますか?神の宝石に何らかの許可を与える必要がありますか?私はOSXを使用しています。
ruby-on-rails - God resque start で「サーバーが利用できません」と表示される
God に resque を再起動させる方法がわかりません。
Ubuntu 10.04.3 LTS Linode スライスに Rails 3.2.2 スタックがあります。実行中のシステム Ruby 1.9.3-p194 (RVM なし)。
以下を含む神の init.d サービスがあり/etc/init.d/god-serviceます。
master.conf上記には以下が含まれます:
resque.god上記には以下が含まれます:
リロードdeploy.rbタスクがあります:
問題は、デプロイするかgod (stop|start|restart|status) resque手動で実行するかで、次のエラー メッセージが表示されます。
システムgemsにインストールgodして、それを指すようにしましたgod-service:
しかしgod start rescue、同じエラーが発生します。
ただし、次のようにしてサービスを開始できます。
rootしたがって、おそらく権限の問題であり、おそらく init.d サービスが所有されており、ユーザーがバンドルから神を実行しているという事実に関連していると思いdeployます。
この問題を回避する最善の方法は何ですか?
ruby-on-rails - 殺すためだけに神を使う
私は乗客を使用してソフトウェアを提供しています。それは多くのルビープロセスを生み出します。
時々これらのルビーの1つが肥大化し、私はそれを死なせたいです。
私はその意図に神を使うことを望んでいました。私の考えは、これらすべてのルビーを監視することでした。3サイクルで500 MBを超えるメモリを消費している場合、神はそれを優雅に殺そうとする必要があります。それが5分以上生き続けているなら、神はそれを優雅に殺すべきではありません。
神はいつもサービスを再び実行しようとしているように私には思えます、それでそれは私たちに開始コマンドを提供することを強制します。神を使って悪い行動をしたプロセスを殺し、必要に応じて乗客のスポナーにそれらを生き返らせることは可能ですか?
ruby-on-rails-3.2 - god、resque、log4r をうまく連携させる
私は自分の resque ワーカーを管理するために神を使用しています。また、神をセットアップするまで、Rails アプリ全体で log4r を使用し、ジョブを resque します。
resque ワーカーで log4r をうまく使うにはどうすればよいですか? ウォッチでログ プロパティを設定しないと、ログが記録されません。しかし、明示的に設定すると、log4r のローリング ログの利点が得られません。
誰か助けて?
ruby-on-rails - sidekiq ワーカーに神の監視を使用する
神の監視システムを使用して sidekiq を開始する方法の構成を探していました。以下は、sidekiq を開始するために使用する神ファイルです。
コマンドを使用してこのスクリプトを実行するとgod、神サーバーは何も起こっていないかのように「プロセスが実行されていないことを示しています」。w.start正しく使用して sidekiq を呼び出していないと思いますが、
私はbundle exec sidekiq -c 25 -q worker,15 -q distributor,5開発モードで使用していますが、正常に動作していました。
私は何が欠けていますか?sidekiq ワーカーをデプロイする別の方法はありますか?
ruby - 独立したアプリケーションを神で監視するにはどうすればよいですか?
私は現在、Rails/Ruby プロジェクトのプロセス監視のオプションを検討しています。
しかし、神を使って複数のアプリケーション(たとえば、1台のマシンで実行されている2つのレールプロジェクト)を監視する方法については、実際には何も見つかりません。
私が見る限り、私は神(システムルビー)をセットアップし、各プロジェクトに独自の構成を追加させました(おそらくデプロイフックで)。これは、さまざまな Ruby バージョン (rbenv、rvm) またはバンドラーを実行しているプロジェクトでも機能するはずです。これは、ゴッド Ruby がプロジェクト コードにアクセスする必要がないためです。
すでにこのように使用している人はいますか?または、より良いアプローチがありますか?
ruby - 複数のアプリケーションで神を使用し、再起動後に自動的に起動します
現在、god を使用して、合計 3 つの Rails/Rack アプリケーションのさまざまなプロセス/デーモンを監視しようとしています。監視はうまく機能しますが、問題は、再起動後にすべてのプロセスを自動開始するように神を構成できないことです。
私のセットアップ: Centos と Plesk で Linux VPS を実行しています。3 つの Rails/Rack アプリケーションをデプロイおよび実行するために使用される非ルート Linux ユーザー「デプロイヤー」がいます。2 つのアプリケーションはパッセンジャー Apache モジュールで実行され、3 番目のアプリケーションはシン サーバーを使用します (アプリケーションは Apache で動作しないため、これが必要です)。パッセンジャーを使用している 2 つの Rails アプリケーションには、バックグラウンドで実行される追加の rake タスクがあります。これらとシン サーバーは神によって監視されています。
god gem は、3 つのアプリケーションすべての Gem ファイルで指定されています。
すべての deploy.rb ファイルには、次のようなメソッドがあります
サーバーの再起動後、3 つのアプリケーションすべてに対して cap misc:restart を手動で実行すると、すべてのプロセスが起動され、正しく監視されます。
これまでのところ、起動時に神を自動的に起動し、必要なすべてのプロセスを起動しようとするたびに失敗しました。いろいろ試してみましたが、何もうまくいきませんでした。これまでの私のアプローチは、次のスクリプトのうち 3 つを実行する @reboot を使用して cron タスクを作成することでした。
これは最初のアプリケーションに最適です: 神とすべてのプロセスが開始されます. スクリプトが 2 番目のアプリケーションに対して実行されると (もちろん、正しいパスを使用して)、神はタスクを開始できません。神へのログインを有効にしましたが、エラー メッセージ (ラック アプリケーションの場合) は「thin: command not found」でした。最初に Rack アプリケーションを起動すると、thin が正しく起動され、他のタスクのコマンドが見つかりません。
構成の何が問題なのかわかりません。上記のように、神の呼び出しの前に bundle exec コマンドを追加しました (したがって、コマンドはそれぞれのアプリケーションの環境で実行する必要があります) - それでも、機能しません。
神を自動的に起動させるのを手伝ってくれる人がいれば、本当に感謝しています。
さらに詳しい情報が必要な場合は、お気軽にお問い合わせください。
前もって感謝します!