这是我编写的一个类,用于跟踪我的 Rails 应用程序中的后台活动。
我的问题是该status
字段已正确更新,但该logs
字段未正确更新。知道为什么吗?
ps1:我可以在tmp_logs
包含我想要的数据的日志中看到,即从根目录中找到的html文件列表)
rake
ps2:此代码通过delayed_job
gem 运行。
class MaintenanceOperation < ActiveRecord::Base
attr_accessible :logs, :status, :operation
def track_object_elements_in_html
status = "started"
tmp_logs = logs
self.save
begin
nb_files = 0
html_files = File.join(my_root, "**", "*.{html,htm,HTML,HTM}")
Dir.glob(html_files).each do |file|
nb_files += 1
tmp_logs << file << "\n"
logger.debug tmp_logs
end
tmp_logs << "Found #{nb_files} files." << "\n"
self.logs = tmp_logs
self.status = "done"
rescue Exception => e
logger.error "Finished performing maintenance operation with error"
logger.error e.message
e.backtrace.each { |line| logger.error line }
logger.error "Flagging as error"
self.status = "error"
end
self.save
end
end
编辑:
更改logs
.
2013-02-18 19:15:28.981 [meh] (0.1ms) begin transaction (pid:80725)
2013-02-18 19:15:28.982 [meh] (0.0ms) commit transaction (pid:80725)