【发布时间】:2019-02-15 04:59:13
【问题描述】:
我基本上是在运行一个后台进程来检查文件,然后根据文件中发现的数据更新 rails 模型。但是,由于错误,我无法从线程内访问模型。
这是我的例子:
def check_logs
while @start == 1
results = Dir.glob("#{@path}/*.txt")
unless results.empty?
results.each do |result|
file_name = result.split("/")[-1]
data = File.open(result).read
if file_name.include? "get"
data_contents = data.split("\n")
time = data_contents[0]
ExamResult.create(time: time)
end
FileUtils.rm_rf result
end
end
sleep 5
end
end
def start_agent
@start = 1
Thread.start {check_logs}
end
def stop_agent
@start = 0
end
但是,当它在后台时,这是我在控制台中看到的错误:
以异常终止(report_on_exception 为真): Traceback(最近一次通话最后一次):5:来自 门户/lib/custom_rb/exam_results/exam_custom.rb:69:in
block in start_monitoring_agent' 4: from portal/lib/custom_rb/exam_results/exam_custom.rb:40:incheck_logs' 3:来自门户/lib/custom_rb/exam_results/exam_custom.rb:40:ineach' 2: from portal/lib/custom_rb/exam_results/exam_custom.rb:46:inblock 在 check_logs' 1: 从 /home/nutella/.rvm/gems/ruby-2.5.1/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:202:inconst_missing' /home/user/.rvm/gems/ruby-2.5.1/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:496:inload_missing_constant':ExamResult 的副本已从 模块树,但仍处于活动状态! (参数错误)
我的目标只是有一个后台进程来监控日志。我看过其他一些关于同样确切错误的帖子,但也许除了为他们提供的解决方案之外,我可以做得更好。
任何想法或反馈将不胜感激。
【问题讨论】:
-
你在用spring吗?
标签: ruby-on-rails ruby