class EventQ::NonceManager
Public Class Methods
complete(nonce)
click to toggle source
# File lib/eventq_base/nonce_manager.rb, line 37 def self.complete(nonce) if @server_url != nil Redis.new(url: @server_url).expire(nonce, @lifespan) end return true end
configure(server:,timeout:10000,lifespan:3600000)
click to toggle source
# File lib/eventq_base/nonce_manager.rb, line 4 def self.configure(server:,timeout:10000,lifespan:3600000) @server_url = server @timeout = timeout @lifespan = lifespan end
failed(nonce)
click to toggle source
# File lib/eventq_base/nonce_manager.rb, line 44 def self.failed(nonce) if @server_url != nil Redis.new(url: @server_url).del(nonce) end return true end
is_allowed?(nonce)
click to toggle source
# File lib/eventq_base/nonce_manager.rb, line 22 def self.is_allowed?(nonce) if @server_url == nil return true end require 'redlock' lock = Redlock::Client.new([ @server_url ]).lock(nonce, @timeout) if lock == false EventQ.log(:info, "[#{self.class}] - Message has already been processed: #{nonce}") return false end return true end
lifespan()
click to toggle source
# File lib/eventq_base/nonce_manager.rb, line 18 def self.lifespan @lifespan end
reset()
click to toggle source
# File lib/eventq_base/nonce_manager.rb, line 51 def self.reset @server_url = nil @timeout = nil @lifespan = nil end
server_url()
click to toggle source
# File lib/eventq_base/nonce_manager.rb, line 10 def self.server_url @server_url end
timeout()
click to toggle source
# File lib/eventq_base/nonce_manager.rb, line 14 def self.timeout @timeout end