Sha256: 8a7c10618e96cc520c83bab967c82fd7056e6f0550084f1c5f39fe230e28250f
Contents?: true
Size: 1015 Bytes
Versions: 2
Compression:
Stored size: 1015 Bytes
Contents
module SplitIoClient module Cache module Repositories module Impressions class MemoryRepository def initialize(adapter, config) @adapter = adapter @config = config end # Store impression data in the selected adapter def add(split_name, data) @adapter.add_to_queue(feature: split_name, impressions: data) rescue ThreadError # queue is full if random_sampler.rand(1..1000) <= 2 # log only 0.2 % of the time @config.logger.warn("Dropping impressions. Current size is #{@config.impressions_queue_size}. " \ "Consider increasing impressions_queue_size") end end # Get everything from the queue and leave it empty def clear @adapter.clear end private def random_sampler @random_sampler ||= Random.new end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
splitclient-rb-3.1.0.pre.rc9 | lib/cache/repositories/impressions/memory_repository.rb |
splitclient-rb-3.1.0.pre.rc8 | lib/cache/repositories/impressions/memory_repository.rb |