問題タブ [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.
monitoring - 監視ソフトウェアの実行を監視または確認する方法 (またはすべき) は?
私はシステム/サービス監視ソフトウェアを書いています。私の主な目標は、それを可能な限りフェイルセーフにすることです。
現在、マスター プロセスを開始するバイナリ スクリプトがあります。マスター プロセスは、実際の監視とレポートを行う子プロセスをフォークします。マスターは、失敗した場合の子の再起動と、子間の通信のみを管理します。
このレベルのフェイルセーフを考えると、マスター プロセスに別の監視レイヤーを追加することをお勧めしますか?
私のコードが高級言語 (python など) であると仮定すると、それを監視する initscript または shellscript で私のソフトウェアをラップすることは理にかなっているでしょうか、それとも冗長でしょうか?
linux - 神:sudoなしでは起動できません
sudo なしで God を実行すると、 God は event system を見つけることができません。ただし、sudo 神で実行すると、イベント システムを見つけることができます。
My M/cについて..「Linux 3.2.0-38-virtual #61-Ubuntu SMP Tue Feb 19 12:37:47 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux」を使用しています
私を助けてください
ruby-on-rails - 神は redis サーバーを起動できません。このエラーの取得: `/var/run/redis/redis-server.pid': 許可が拒否されました
神(ruby gem)でredisサーバーを監視しようとしています。/etc/redis/redis.conf の PID ファイル パスを (capistrano を使用して) アプリをデプロイするユーザーの rails app temp フォルダーに変更し、redis.god ファイルに「w.pid_file= .. ." これは、redis.conf ファイルで変更したものと同じ PID パスを指しています。そのため、redis.god ファイルは現時点では次のようになっています。
私が抱えている問題は、神が redis を開始できることです。神ファイルのログを調べたところ、次のように書かれています。
なぜまだ /var/run/redis/redis-server.pid を調べようとしているのですか? 許可が拒否されたため、redis.conf ファイルの PID パスを上に示した新しいパスに変更しましたが、依然として /var/run/redis/redis-server.pid を参照する必要があります。参考までに、これは PID パスを変更するというアイデアを得た場所です:既存のプロセスを監視するための神の構成ファイル?
ruby-on-rails-3 - RAILS_ENV で始まるコマンドを神が実行できない理由
複数のアプリケーションがデプロイされている環境にプロジェクトをデプロイしています。そこでrvmを使ってRailsアプリケーションごとに実行環境を分けています。
私のアプリケーションでは、gem を使用godしてdelayed_job プロセスを管理しています。
しかし、これについて、神は次のように報告しています。
そして、それを次のように変更すると:
できます。複数のアプリケーション環境で追加が正しい方法であるかどうかを知りたいexportのですが、そのサーバーでは、他のアプリケーションが の下RAILS_ENV=productionで実行されているため、それらは影響を受けますか?
アップデート
export最初に追加すると、私は間違っていたことがわかりましたが、Godそれでも同じエラーがスローされます。どうすればこれを達成できますか?
感謝をこめて。
ruby - GOD rbを理解しようとする
私はGODのドキュメントとの混乱に直面しています
まず、私の設定スクリプトは次のようになります
混乱 1 : GOD PID ファイルのジレンマ
GODのドキュメントでは、それが言及されています

これで、 pid_fileとpid_file_directoryを設定したことは明らかですが、構成で定義されているディレクトリに PID が表示される場所はありません。
sudo参考までに、ディレクトリがGODによって書き込み可能であると仮定して、GODを開始しました
混乱 2: START_IF CONDITION

さて、start_if 条件をどのように定義するかというと、この使用例を理解できません。また、条件のどの条件を設定するかという単語条件
- :process_running は一連の条件ですか? はいの場合、start_ifの他の一連の条件は何ですか?
また、 do ブロック内の属性は何を行うと想定されていますか? そして、それらはいつ実行されますか?
より正確には、 c.running = false を参照しています(内部で行うことと、 start_ifで利用可能なその他の属性のリスト)
混乱 3 (開始/停止/再起動コマンド)
開始コマンドが記述されている構成ファイルを考えると、構成に停止および再起動コマンドも記述する必要があります。
そのため、次を実行すると
sudo 神停止混乱
sudo 神再起動混乱
彼らは処刑されるだろう
書かないと仮定して
それらを実行するとどうなりますか?
停止コマンド、つまり sudo god restart mess` が実行されたときに、GOD は最終的に実行中のプロセスを
sudo god stop mess' is executed? or restart the running process when restart command i.e強制終了しますか?
誰でも光を共有できますか
混乱 4 (プロセスをデーモン化するかどうか):
GODの資料によると

ここで、プロセスによって明示的にGOD内のバックグラウンドに置くことを考えてみましょう
そのような場合はどうなりますか
- 神は停止と再起動のコマンドを監視しますか?
したがって、GOD 内でプロセスをデーモン化する (開始コマンドで) ことは、GOD がプロセスがバックグラウンドに移行したことを認識しており、GOD に対して実行されたときにそのプロセスのすべてのコマンド start / stop / restart コマンドに反応すると仮定すると、有効なアプローチと見なすことができますか?
お気に入り
sudo 神停止混乱
sudo 神再起動混乱
誰でもこれに光を当てることができますか
上記から抽出された質問のリストは次のとおりです
pid_file_directory 構文が機能しないのはなぜですか?
:process_running が条件のセットである場合、他の条件が行うものstart_ifには c.running = false (内部的に行う) も含まれます
神構成で記述/定義する必要が
stopありますかrestartプロセスが明示的にバックグラウンドに移動する場合、GODは引き続きコマンド
stop|restartなどを監視します
ruby - x時間ごとに時計を再起動するように神を設定する方法はありますか?
Twitter からデータをストリーミングし、それを別のアプリケーションにフィードする小さなスクリプトがあります。twitterそのために、5.0.0.rc.1 リリースの公式の gem を使用しており、ストリーミング機能は実験的であるとフラグが付けられていますが、これは問題ありません。とにかく、それは重要なアプリケーションではありません。
予期しないクラッシュやその他のネットワークの問題などに耐えるようにするために、このスクリプトをgod(0.13.3) で監視しており、ほとんどの場合、実際に機能します。なんらかの理由で、スクリプトが完全にハングアップし、奇数秒ごとにツイートを受信する必要があるときに、何もしないままになることがあるようです (デバッグ セットアップでは、広く使用されている用語を使用しています)。
psとしてリストされSs、0% の CPU とわずか 25MB の RAM を消費します。
gem (または依存関係)に問題がある可能性があるtwitterと思いますが、今はコードに飛び込んで修正する余裕はありません。
これが私の時計の定義です。ご覧のとおり、ほぼ本通りです。私が望むのは、プロセスを頻繁に強制的に再起動できる条件です。それは私のニーズにとって許容できる回避策です。
おそらく次のようなもの
これは:flapping、プロジェクトのホームページにある条件ブロックのサンプルに基づいています。これを達成する方法はありますか、それとも自分の条件を実装する必要がありますか?