bgddlZddlZddlmZmZddlmZddlmZmZddl m Z ddl m Z ddl mZerddlmZdd lmZdd lmZeZGd d eZdS) N)sleeptime)check_thread_support)Queue FullError)logger)DEFAULT_QUEUE_SIZE) TYPE_CHECKING)Any)Optional)CallablecfeZdZefdZedZdZdZdZ dZ d dZ d Z d Z d Zd ZdS)BackgroundWorkerctt||_tj|_d|_d|_dSN)rr_queue threadingLock_lock_thread_thread_for_pid)self queue_sizes H/opt/cloudlinux/venv/lib64/python3.11/site-packages/sentry_sdk/worker.py__init__zBackgroundWorker.__init__sAJ'' ^%%  #c|jtjkrdS|jsdS|jS)NF)rosgetpidris_alivers rr zBackgroundWorker.is_alives@  29;; . .5| 5|$$&&&rc@|js|dSdSr)r startr!s r_ensure_threadzBackgroundWorker._ensure_thread's'}  JJLLLLL  rct|z}|j}|j |jrU|tz }|dkr |jdS|j||jU |jdS#|jwxYw)NrF)timeoutT)rrall_tasks_doneacquireunfinished_tasksreleasewait)rr&deadlinequeuedelays r_timed_queue_joinz"BackgroundWorker._timed_queue_join,s66G#  $$&&& +( 9 466)A::  ( ( * * * * * $))%)888 ( 9   ( ( * * * * *E ( ( * * * *sB+-"B++Cc|j5|js]tj|jd|_d|j_|jtj |_ ddddS#1swxYwYdS)Nzraven-sentry.BackgroundWorker)targetnameT) rr rThread_targetrdaemonr#rrrr!s rr#zBackgroundWorker.start>s Z 3 3= 3(/<.M    '+ # ""$$$')y{{$ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3sA%A::A>A>c"tjd|j5|jrS |jt n$#t$rtjdYnwxYwd|_d|_ddddS#1swxYwYdS)z Kill worker thread. Returns immediately. Not useful for waiting on shutdown for events, use `flush` for that. z"background worker got kill requestz)background worker queue full, kill failedN) rdebugrrr put_nowait _TERMINATORrrr!s rkillzBackgroundWorker.killIs  9::: Z , ,| ,NK**;7777 NNNL!LMMMMMN $ '+$ , , , , , , , , , , , , , , , , , ,s4BABA&#B%A&&BB BNctjd|j5|jr|dkr|||dddn #1swxYwYtjddS)Nz#background worker got flush requestgzbackground worker flushed)rr7rr _wait_flush)rr&callbacks rflushzBackgroundWorker.flushZs :;;; Z 4 4} 43  (333 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4  011111s$A  AAc4|jSr)rfullr!s rr@zBackgroundWorker.fullbs{!!!rchtd|}||s|jdz}t jd|| ||||||z s5|jdz}t jd|dSdSdS)Ng?z%d event(s) pending on flushz"flush timed out, dropped %s events)minr/rqsizerr7error)rr&r=initial_timeoutpendings rr<zBackgroundWorker._wait_flushfsc7++%%o66 Lk''))A-G L7 A A A#'***))'O*CDD L+++--1 A7KKKKK L L  L Lrc| |j|dS#t$rYdSwxYw)NTF)r$rr8rrr=s rsubmitzBackgroundWorker.submitssV   K " "8 , , ,4   55 s2 AAcv |j} |tur |jdS |n&#t$rt jddYnwxYw|jn#|jwxYwtd)NTzFailed processing job)exc_infor)rgetr9 task_done ExceptionrrErrIs rr4zBackgroundWorker._target|s {((H ({**  %%''''' IHJJJJ IIIL!84HHHHHHI %%'''' %%'''' !HHH s/ B  A B A0-B /A00B B(r)__name__ __module__ __qualname__r rpropertyr r$r/r#r:r>r@r<rJr4rrrrs"4$$$$''X' +++$ 3 3 3,,,"2222""" L L L     rr)rrrrsentry_sdk._compatrsentry_sdk._queuerrsentry_sdk.utilsrsentry_sdk.constsr sentry_sdk._typesr typingr r r objectr9rrTrrr\s 333333........######000000++++++ fhh tttttvtttttr