Class: BetterAuth::Telemetry::HttpDispatcher
- Inherits:
-
Object
- Object
- BetterAuth::Telemetry::HttpDispatcher
- Defined in:
- lib/better_auth/telemetry/http_dispatcher.rb
Constant Summary collapse
- DEFAULT_QUEUE_SIZE =
100- IDLE_TIMEOUT_SECONDS =
1.0- EMPTY_SLEEP_SECONDS =
0.01
Instance Method Summary collapse
- #call(event) ⇒ Object
-
#initialize(endpoint:, logger:, queue_size: DEFAULT_QUEUE_SIZE) ⇒ HttpDispatcher
constructor
A new instance of HttpDispatcher.
Constructor Details
#initialize(endpoint:, logger:, queue_size: DEFAULT_QUEUE_SIZE) ⇒ HttpDispatcher
Returns a new instance of HttpDispatcher.
10 11 12 13 14 15 16 |
# File 'lib/better_auth/telemetry/http_dispatcher.rb', line 10 def initialize(endpoint:, logger:, queue_size: DEFAULT_QUEUE_SIZE) @endpoint = endpoint @logger = logger @queue = SizedQueue.new(queue_size) @mutex = Mutex.new @worker = nil end |
Instance Method Details
#call(event) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/better_auth/telemetry/http_dispatcher.rb', line 18 def call(event) enqueue(event) start_worker nil rescue => e @logger.error("[better-auth.telemetry] http dispatch failed: #{e.class}: #{e.}") nil end |