2011-07-06 18 views
1

ruby lib/scripts/script.rbruby​​ on rail + bashスクリプト、助けてください!私が書くの端末で

がscript.rb上で、私は2つのスクリプト...

script.rb

require 'config/environment' 

    #first script 
#notifier user that question deadline is over and show statistics 
inquiry.each do |i| 
    question   = i.question 

    #respondent  = Respondent.find(:all, :conditions => ["id = (?)", i.respondent_id]) 
    respondent  = i.respondent 

    #Notifier.deliver_deadline_notification(inquiry, user, question, respondent) 
    Notifier.deliver_statistics_notification(inquiry, question, user, respondent) 

    #respondent  = Respondent.find(:all, :conditions => ["id = (?)", i.respondent_id]) 
    #respondents.each do |r|   
    #end 
end 

を持っ------------ -----

#second script 
respondents  = Respondent.find(:all) 
inquiries   = Inquiry.find(:all, :conditions => ["is_answered = 0 AND respondent_id = (?)", respondents]) 
#respondents  = Respondent.find(:first, :conditions => ["id = (?)", inquiries]) 

questions  = Question.find(:all) 
qdead   = questions.deadline 

dead_line_date = qdead - 1.days - 0.minutes - 0.seconds 
get_time_now = Time.now.strftime('%m/%d/%Y') 

私は1つのRBファイルで(1つのスクリプトが何かを、第二は別である)、これらの2つのスクリプトを持っています。私の質問は...どのように私は第1スクリプトと第2スクリプトを同時に起動するコンソールで書くことができますか?私はいくつかのAGVGを使用することを知っていますか?しかし、どのように?

ありがとうございました!

UPD: 私が書いたcronの使用:

0 0 * * * /usr/bin/rails-run-script myproject script oncoming 

0 1 * * * /usr/bin/rails-run-script myproject script missed 

D

対向車と逃した - 引数を。私はscript.rbでそれらを非難することができます。どのようにスクリプトは、私が逃した、または来ていることを知っているでしょうか?

+0

2つのチャンクが1つのファイル内にある場合、1つのスクリプトしかありません。何をしたいですか? ( "launch ..同時に" - ここには1つのスクリプトしかありません) – sarnold

+0

私の質問が更新されます。私はcronを使うつもりなら、コンソールでこれを書いています。 –

答えて

1

あなたの質問が正しい場合は、スクリプトに渡すコマンドライン引数に基づいて異なる動作をするスクリプトですか?

したがってscript missedは、とscript oncomingは何かします。

本当に単純であれば、ARGV.firstを決めることができます。

case ARGV.first 
when "oncoming" 
    # your "oncoming" logic (preferably wrapped in a method call) here 
when "missed" 
    # your "missed" logic 
else 
    $stderr.puts "Call the script with either missed or oncoming" 
    exit 1 
end 

しかし、あなたは少し複雑なオプションを使って何をしたい場合は、私は非常にルビーズSTDLIBに含まれているoptparse.rbを使用してお勧めします(http://ruby-doc.org/stdlib /libdoc/optparse/rdoc/index.html)

+0

ありがとう、これは私が必要とするextaclyです!!!!!私はARGV.firstを正確に書くべきですか?はい、書く必要がありますか? –

関連する問題