У меня есть функция:Различная SQL Query Result в Ruby On Rails
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 отчетов, а иногда всего 15 (а иногда и никаких результатов). Вы, ребята, знаете, что происходит? Моя БД - MYSQL.
Кроме того, если я изменяю среду на «разработку» ИЛИ, если я опускаю часть JOIN, ее работа очень хорошо.
Есть ли что-нибудь еще, меняя базу данных? Вы пробовали свои запросы в оболочке MySQL? –
Вы пробовали переходить через код в режиме отладчика? Я видел случаи, когда исключение ели в решетке в молчании в некоторых странных случаях. – Nick
@muistooshort - сама база данных живет на сервере, поэтому, скорее всего, есть записи и записи, но я единственный, кто обращается к таблицам, используемым выше. Да, ive попытался подавать сырые запросы MYSQL - результаты хороши. –