99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# File 'lib/nanite/state.rb', line 99
def update_state(name, status, services, tags)
old_services = @redis.set_members("s-#{name}")
if old_services
(old_services - services).each do |s|
@redis.set_delete(s, name)
@redis.set_delete("naniteservices", s)
end
end
old_tags = @redis.set_members("tg-#{name}")
if old_tags
(old_tags - tags).each do |t|
@redis.set_delete(t, name)
@redis.set_delete("nanitetags", t)
end
end
@redis.delete("s-#{name}")
services.each do |srv|
@redis.set_add(srv, name)
@redis.set_add("s-#{name}", srv)
@redis.set_add("naniteservices", srv)
end
@redis.delete("tg-#{name}")
tags.each do |tag|
next if tag.nil?
@redis.set_add(tag, name)
@redis.set_add("tg-#{name}", tag)
@redis.set_add("nanitetags", tag)
end
update_status(name, status)
end
|