Added some net locks to prevent fetching news while a fetch is already in progress

This commit is contained in:
2022-03-20 18:28:19 -05:00
parent 8766ed7d86
commit 57bcff8019
3 changed files with 65 additions and 7 deletions

View File

@@ -123,5 +123,31 @@ class W3DHub
ensure
file&.close
end
def self.acquire_net_lock(key)
Store["net_locks"] ||= {}
if Store["net_locks"][key]
false
else
Store["net_locks"][key] = true
end
end
def self.release_net_lock(key)
Store["net_locks"] ||= {}
if Store["net_locks"][key]
Store["net_locks"].delete(key)
else
warn "!!! net_lock not found for #{key.inspect}"
end
end
def self.net_lock?(key)
Store["net_locks"] ||= {}
Store["net_locks"][key]
end
end
end