lib/sfpagent/agent.rb in sfpagent-0.2.3 vs lib/sfpagent/agent.rb in sfpagent-0.2.4
- old
+ new
@@ -558,10 +558,11 @@
f.truncate(f.pos)
end
}
if updated
+ @@agents_database = agents
Thread.new {
# if updated then broadcast to other agents
http_data = {'agents' => JSON.generate(data)}
agents.each { |name,agent|
begin
@@ -577,10 +578,12 @@
true
end
def self.get_agents
return {} if not File.exist?(AgentsDataFile)
- return @@agents_database if File.mtime(AgentsDataFile) == @@agents_database_modified_time
+ modified_time = File.mtime(AgentsDataFile)
+ return @@agents_database if modified_time == @@agents_database_modified_time and
+ (Time.new - modified_time) < 60
@@agents_database_modified_time = File.mtime(AgentsDataFile)
@@agents_database = JSON[File.read(AgentsDataFile)]
end
# A class that handles HTTP request.