1
私が機能を持っている:を変化させたSQLクエリ結果
def self.run_all_scheduled_reports
scheduled_queries = Reports.find(
:all,
:joins=> 'INNER JOIN `expected_times`
ON (`reports`.`report_id` =`expected_times`.`report_id`)')
if scheduled_queries.empty?
print "No reports to run at this time ("+Time.now.to_s+")"
else
caught_exception = false
ActiveRecord::Base.connection.execute("SET SESSION WAIT_TIMEOUT=2400");
scheduled_queries.each do |query|
begin
print "Running report ("+query[:id].to_s+")...\n"
self.run_report(query[:id])
rescue Exception => e
caught_exception = true
print e
end
end
raise "At least one query resulted in an Exception!" if caught_exception
end
end
は奇妙なことは、私は連続して(スクリプト/ランナー-eを経由して...)この関数を実行すると、結果が変化する、ということです。場合によっては約30のレポートが印刷されることもあります(場合によっては、結果がまったく返されないこともあります)。皆さんは何が起こっているか考えていますか?私のDBはMYSQLです。また
、私は一部のJOIN省略した場合、そのはかなりうまく働い「開発」するか、環境を変更した場合。
のおかげでは、データベースを変更する何か他のものですか? MySQLシェルでクエリを試しましたか? –
デバッガモードでコードをステップ実行しようとしましたか?私は例外がいくつかの奇妙なケースで静かにレールスタックで食べられるケースを見てきました。 – Nick
@muistooshort - データベースそのものがサーバーに存在するため、読み書きが可能性が高いですが、上記のテーブルにアクセスするのは私だけです。はい、iveはMYSQLの生のクエリをフィードしようとしました - 結果は良いです。 –