アプリは Engine Yard で実行されています。いつでも実行されるスクリプト内からいくつかのデータをログに記録する必要があります。外観は次のとおりです。
スケジュール.rb:
every 1.minute do
rake 'my_tasks:task1 my_tasks:task2', :output => 'log/my_tasks.log'
end
task1
次の行を含むスクリプトを実行します (テスト目的のみ)。
...
log('test')
...
def self.log(string)
logfile = '/var/log/engineyard/apps/my_app/test_log.log'
File.open(logfile, 'a') { |log| log.puts(string << "\n\n") }
end
問題は、何を試してもログ (my_tasks.log、test_log.log) が作成されないことです。コンソールから実行するbundle exec rake my_tasks:task1
と、test_log.log ファイルが正常に作成され、メッセージがログに記録されます。何が間違っている可能性がありますか?Engine Yard の仕組みと関係がありますか?