1

私はGODのドキュメントとの混乱に直面しています

まず、私の設定スクリプトは次のようになります

DIRECTORY = "/Users/joshianiket22/myProject/god_script"
God.pid_file_directory = DIRECTORY
God.watch do |w|
  w.name = "mess"
  w.start = "ruby /Users/joshianiket22/myProject/god_script/simple.rb"
  w.pid_file =  File.join(DIRECTORY,'simple.pid')
  puts File.join(DIRECTORY,'simple.pid')
  w.stop = "ruby -e 'puts \"#{DateTime.now}\"'"
  w.log = File.join(DIRECTORY,'god.log')
  w.behavior(:clean_pid_file)
  w.interval = 10.seconds
   w.start_if do |start| 
    start.condition(:process_running) do |c| 
      puts "Inside start condition"
      c.interval = 5.seconds 
      c.running = false
    end 
  end 
end

混乱 1 : GOD PID ファイルのジレンマ

GODのドキュメントでは、それが言及されています

ここに画像の説明を入力

これで、 pid_filepid_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内のバックグラウンドに置くことを考えてみましょう

w.start = "ruby /Users/joshianiket22/myProject/god_script/simple.rb &" 

そのような場合はどうなりますか

  • 神は停止と再起動のコマンドを監視しますか?

したがって、GOD 内でプロセスをデーモン化する (開始コマンドで) ことは、GOD がプロセスがバックグラウンドに移行したことを認識しており、GOD に対して実行されたときにそのプロセスのすべてのコマンド start / stop / restart コマンドに反応すると仮定すると、有効なアプローチと見なすことができますか?

お気に入り

sudo 神停止混乱
sudo 神再起動混乱

誰でもこれに光を当てることができますか

上記から抽出された質問のリストは次のとおりです

  • pid_file_directory 構文が機能しないのはなぜですか?

  • :process_running が条件のセットである場合、他の条件が行うものstart_ifには c.running = false (内部的に行う) も含まれます

  • 神構成で記述/定義する必要がstopありますかrestart

  • プロセスが明示的にバックグラウンドに移動する場合、GODは引き続きコマンドstop|restartなどを監視します

4

1 に答える 1