|
@@ -6,10 +6,17 @@ module Blazer
|
|
|
workers 4
|
|
|
|
|
|
def perform(result, data_source, statement, options)
|
|
|
- ActiveRecord::Base.connection_pool.with_connection do
|
|
|
- data_source.connection_model.connection_pool.with_connection do
|
|
|
- result << RunStatement.new.perform(data_source, statement, options)
|
|
|
+ begin
|
|
|
+ ActiveRecord::Base.connection_pool.with_connection do
|
|
|
+ data_source.connection_model.connection_pool.with_connection do
|
|
|
+ result << RunStatement.new.perform(data_source, statement, options)
|
|
|
+ end
|
|
|
end
|
|
|
+ rescue Exception => e
|
|
|
+ result.clear
|
|
|
+ result << Blazer::Result.new(data_source, [], [], "Unknown error", nil, false)
|
|
|
+ Blazer.cache.write(data_source.run_cache_key(options[:run_id]), Marshal.dump([[], [], "Unknown error", nil]), expires_in: 30.seconds)
|
|
|
+ raise e
|
|
|
end
|
|
|
end
|
|
|
end
|