Ë
    uPêj^  ã                  óL   — d Z ddlmZ ddlZddlZddlmZ ddlmZ dd„Z	d	d„Z
y)
z{
Prometheus multiprocess directory cleanup utilities.

Wipes all .db files on startup so workers start with a clean slate.
é    )ÚannotationsN)ÚFinal)Úverbose_proxy_loggerc                ó@  — t        j                   t        j                  j                  | d«      «      }d}|D ]  }	 t        j                  |«       |dz  }Œ |rt        j                  d|| «       yy# t
        $ r!}t        j                  d||«       Y d}~Œ`d}~ww xY w)zGDelete all .db files in the directory. Called once before workers fork.z*.dbr   é   z-Failed to delete stale prometheus file %s: %sNz4Prometheus cleanup: wiped %s stale .db files from %s)	ÚglobÚosÚpathÚjoinÚremoveÚOSErrorr   ÚwarningÚinfo)Ú	directoryÚfilesÚdeletedÚfilepathÚes        úe/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/proxy/prometheus_cleanup.pyÚwipe_directoryr      s›   € ä—9‘9œRŸW™WŸ\™\¨)°VÓ<Ó=€EØ€GØò gˆð	gÜ�I‰I�hÔØ�q‰L‰Gðgñ Ü×!Ñ!Ð"XÐZaÐclÕmð øô ò 	gÜ ×(Ñ(Ð)XÐZbÐde×fÑfûð	gús   ¼A3Á3	BÁ<BÂBc                óú   — t         j                  j                  d«      sy	 ddlm} |j                  | «       t        j                  d| «       y# t        $ r!}t        j                  d| |«       Y d}~yd}~ww xY w)zRRemove prometheus .db files for a dead worker. Called by gunicorn child_exit hook.ÚPROMETHEUS_MULTIPROC_DIRNr   )Úmultiprocessz,Prometheus cleanup: marked worker %s as deadz/Failed to mark prometheus worker %s as dead: %s)
r	   ÚenvironÚgetÚprometheus_clientr   Úmark_process_deadr   r   Ú	Exceptionr   )Ú
worker_pidr   r   s      r   Úmark_worker_exitr       si   € ä�:‰:�>‰>Ð4Ô5ØðgÝ2à×&Ñ& zÔ2Ü×!Ñ!Ð"PÐR\Õ]øÜò gÜ×$Ñ$Ð%VÐXbÐde×fÑfûðgús   ¢-A Á	A:ÁA5Á5A:)r   ÚstrÚreturnÚNone)r   Úintr"   r#   )Ú__doc__Ú
__future__r   r   r	   Útypingr   Úlitellm._loggingr   r   r    © ó    r   ú<module>r+      s'   ðñõ #ã Û 	Ý å 1ónô
gr*   