lib/gush/configuration.rb in gush-2.0.2 vs lib/gush/configuration.rb in gush-2.1.0
- old
+ new
@@ -1,19 +1,21 @@
module Gush
class Configuration
- attr_accessor :concurrency, :namespace, :redis_url, :ttl
+ attr_accessor :concurrency, :namespace, :redis_url, :ttl, :locking_duration, :polling_interval
def self.from_json(json)
new(Gush::JSON.decode(json, symbolize_keys: true))
end
def initialize(hash = {})
- self.concurrency = hash.fetch(:concurrency, 5)
- self.namespace = hash.fetch(:namespace, 'gush')
- self.redis_url = hash.fetch(:redis_url, 'redis://localhost:6379')
- self.gushfile = hash.fetch(:gushfile, 'Gushfile')
- self.ttl = hash.fetch(:ttl, -1)
+ self.concurrency = hash.fetch(:concurrency, 5)
+ self.namespace = hash.fetch(:namespace, 'gush')
+ self.redis_url = hash.fetch(:redis_url, 'redis://localhost:6379')
+ self.gushfile = hash.fetch(:gushfile, 'Gushfile')
+ self.ttl = hash.fetch(:ttl, -1)
+ self.locking_duration = hash.fetch(:locking_duration, 2) # how long you want to wait for the lock to be released, in seconds
+ self.polling_interval = hash.fetch(:polling_internal, 0.3) # how long the polling interval should be, in seconds
end
def gushfile=(path)
@gushfile = Pathname(path)
end
@@ -22,13 +24,15 @@
@gushfile.realpath if @gushfile.exist?
end
def to_hash
{
- concurrency: concurrency,
- namespace: namespace,
- redis_url: redis_url,
- ttl: ttl
+ concurrency: concurrency,
+ namespace: namespace,
+ redis_url: redis_url,
+ ttl: ttl,
+ locking_duration: locking_duration,
+ polling_interval: polling_interval
}
end
def to_json
Gush::JSON.encode(to_hash)