
    j                     V    d dl Z d dlZd dlmZ ddlmZ  G d de j                        Zy)    N)List   )base_batcherc                   N    e Zd Z	 ddeej
                     deddfdZd	dZd	dZ	y)
FlushingThreadbatchersprobe_interval_secondsreturnNc                 p    t         j                  j                  | d       || _        || _        d| _        y )NT)daemonF)	threadingThread__init__	_batchers_probe_interval_seconds_closed)selfr   r	   s      /Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/message_processing/batching/flushing_thread.pyr   zFlushingThread.__init__	   s3    
 	!!$t!4!'=$    c                     d| _         y )NT)r   )r   s    r   closezFlushingThread.close   s	    r   c                     | j                   s_| j                  D ]#  }|j                         s|j                          % t	        j
                  | j                         | j                   s^y y )N)r   r   is_ready_to_flushflushtimesleepr   )r   batchers     r   runzFlushingThread.run   sI    ,,>>,,.MMO * JJt334	 ,,r   )g?)r
   N)
__name__
__module____qualname__r   r   BaseBatcherfloatr   r   r    r   r   r   r      s=     ),|//0 !& 
	5r   r   )r   r   typingr    r   r   r   r$   r   r   <module>r'      s#       5Y%% 5r   