0

基本的に、Ruby スクリプトでいくつかのデーモンを実行したいだけです。

require 'daemons'

Daemons.run path_1, { :ARGV => ['start'], :app_name => 'app1', :multiple => true, ... }
Daemons.run path_2, { :ARGV => ['start'], :app_name => 'app2', :multiple => true, ... }

しかし、ARGV[0] == 'start' の場合、2 番目の Daemons.run は呼び出されません ('status'/'stop' で完全に機能します)。それを行う正しい方法は何ですか?

4

1 に答える 1

0

http://daemons.rubyforge.orgから

3- 別のアプリケーションから一連のデーモンを制御する

レイアウト: 一連のサーバー タスクをデーモン プロセスとして実行するアプリケーション my_app.rb があります。

# this is my_app.rb

require 'rubygems'        # if you use RubyGems
require 'daemons'

task1 = Daemons.call(:multiple => true) do
  # first server task

  loop {
    conn = accept_conn()
    serve(conn)
  }
end

task2 = Daemons.call do
  # second server task

  loop {
    something_different()
  }
end

# the parent process continues to run

# we can even control our tasks, for example stop them
task1.stop
task2.stop

exit

似合う?

于 2012-07-26T08:15:26.213 に答える