私は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_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内のバックグラウンドに置くことを考えてみましょう
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
などを監視します