Ë
    —V.jb  ã                   óü   — d Z ddlZddlZddlZddlZddlmZmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZmZmZ ddlmZ dd	lmZ dd
lmZ dZ ed«      Zdddddej4                  dej6                  fd„Z G d„ d«      Zy)zBase Execution Pool.é    N)ÚAnyÚDict)ÚExceptionInfo)ÚWorkerLostError)Ú	safe_repr)ÚWorkerShutdownÚWorkerTerminateÚreraise)Útimer2)Ú
get_logger)Útruncate)ÚBasePoolÚapply_targetzcelery.pool© c	           	      ó†  — |si n|}|r ||xs  |«        |«       «       	  | |i |¤Ž}
 ||
«       y# |$ r ‚ t         $ r ‚ t        t        f$ r ‚ t        $ rh}	 t	        t
        t        t        |«      «      t        j                  «       d   «       n$# t
        $ r  |t        «       «       Y nw xY wY d}~yY d}~yd}~ww xY w)z#Apply function within pool context.é   N)
Ú	Exceptionr   r	   ÚBaseExceptionr
   r   ÚreprÚsysÚexc_infor   )ÚtargetÚargsÚkwargsÚcallbackÚaccept_callbackÚpidÚgetpidÚ	propagateÚ	monotonicÚ_ÚretÚexcs               úYC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\celery/concurrency/base.pyr   r      sÀ   € ñ ‰R 6€FÙÙ˜š™v›x©«Ô5ðÙ�dÐ%˜fÑ%ˆñ 	��øð ò ØÜò ØÜœOÐ,ò ØÜò &ð	&Ü”O¤_´T¸#³YÓ%?Ü—L‘L“N 1Ñ%õ'øäò 	&Ù”]“_Ö%ð	&úÜ%ô'ûð&ús3   ¡2 ²&C Á8BÂB;ÂB.Â+B;Â-B.Â.B;Â;C c                   ó  — e Zd ZdZdZdZdZej                  ZdZ	dZ
dZdZdZdZdZdZ	 	 d d„Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd!d„Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d"d„Z#de$e%e&f   fd„Z'e(d„ «       Z)e(d„ «       Z*e(d„ «       Z+y)#r   z
Task pool.é   r   é   TFNc                 óX   — || _         || _        || _        || _        || _        || _        y ©N)ÚlimitÚputlocksÚoptionsÚforking_enableÚcallbacks_propagateÚapp)Úselfr*   r+   r-   r.   r/   r,   s          r$   Ú__init__zBasePool.__init__I   s.   € àˆŒ
Ø ˆŒØˆŒØ,ˆÔØ#6ˆÔ Øˆ�ó    c                  ó   — y r)   r   ©r0   s    r$   Úon_startzBasePool.on_startR   ó   € Ør2   c                  ó   — y)NTr   r4   s    r$   Údid_start_okzBasePool.did_start_okU   s   € Ør2   c                  ó   — y r)   r   r4   s    r$   ÚflushzBasePool.flushX   r6   r2   c                  ó   — y r)   r   r4   s    r$   Úon_stopzBasePool.on_stop[   r6   r2   c                  ó   — y r)   r   )r0   Úloops     r$   Úregister_with_event_loopz!BasePool.register_with_event_loop^   r6   r2   c                  ó   — y r)   r   ©r0   r   r   s      r$   Úon_applyzBasePool.on_applya   r6   r2   c                  ó   — y r)   r   r4   s    r$   Úon_terminatezBasePool.on_terminated   r6   r2   c                  ó   — y r)   r   ©r0   Újobs     r$   Úon_soft_timeoutzBasePool.on_soft_timeoutg   r6   r2   c                  ó   — y r)   r   rF   s     r$   Úon_hard_timeoutzBasePool.on_hard_timeoutj   r6   r2   c                  ó   — y r)   r   rA   s      r$   Úmaintain_poolzBasePool.maintain_poolm   r6   r2   c                 ó0   — t        t        | «      › d�«      ‚)Nz does not implement kill_job©ÚNotImplementedErrorÚtype)r0   r   Úsignals      r$   Úterminate_jobzBasePool.terminate_jobp   s   € Ü!Ü�D‹zˆlÐ6Ð7ó9ð 	9r2   c                 ó0   — t        t        | «      › d�«      ‚)Nz does not implement restartrN   r4   s    r$   ÚrestartzBasePool.restartt   s   € Ü!Ü�D‹zˆlÐ5Ð6ó8ð 	8r2   c                 óF   — | j                  «        | j                  | _        y r)   )r<   Ú	TERMINATEÚ_stater4   s    r$   ÚstopzBasePool.stopx   s   € Ø�‰ŒØ—n‘nˆ�r2   c                 óF   — | j                   | _        | j                  «        y r)   )rV   rW   rD   r4   s    r$   Ú	terminatezBasePool.terminate|   s   € Ø—n‘nˆŒØ×ÑÕr2   c                 ó–   — t         j                  t        j                  «      | _        | j                  «        | j                  | _        y r)   )ÚloggerÚisEnabledForÚloggingÚDEBUGÚ_does_debugr5   ÚRUNrW   r4   s    r$   ÚstartzBasePool.start€   s-   € Ü!×.Ñ.¬w¯}©}Ó=ˆÔØ�‰ŒØ—h‘hˆ�r2   c                 óF   — | j                   | _        | j                  «        y r)   )ÚCLOSErW   Úon_closer4   s    r$   ÚclosezBasePool.close…   s   € Ø—j‘jˆŒØ�‰�r2   c                  ó   — y r)   r   r4   s    r$   re   zBasePool.on_close‰   r6   r2   c           
      ó  — |si n|}|sg n|}| j                   r>t        j                  d|t        t	        |«      d«      t        t	        |«      d«      «        | j
                  |||f| j                  | j                  dœ|¤ŽS )zÈEquivalent of the :func:`apply` built-in function.

        Callbacks should optimally return as soon as possible since
        otherwise the thread which handles the result will get blocked.
        z&TaskPool: Apply %s (args:%s kwargs:%s)i   )Úwaitforslotr.   )r`   r\   Údebugr   r   rB   r+   r.   )r0   r   r   r   r,   s        r$   Úapply_asynczBasePool.apply_asyncŒ   s‡   € ñ "‘ vˆÙ‰r 4ˆØ×ÒÜ�L‰LÐAØ¤¬)°D«/¸4Ó!@Ü!¤)¨FÓ"3°TÓ:ô<ð ˆt�}‰}˜V T¨6ð (Ø)-¯©Ø15×1IÑ1Iñ(ð  'ñ(ð 	(r2   Úreturnc                 ó|   — | j                   j                  dz   | j                   j                  z   | j                  dœS )z¶
        Return configuration and statistics information. Subclasses should
        augment the data as required.

        :return: The returned value must be JSON-friendly.
        Ú:)Úimplementationzmax-concurrency)Ú	__class__Ú
__module__Ú__name__r*   r4   s    r$   Ú	_get_infozBasePool._get_infož   s6   € ð #Ÿn™n×7Ñ7¸#Ñ=ÀÇÁ×@WÑ@WÑWØ#Ÿz™zñ
ð 	
r2   c                 ó"   — | j                  «       S r)   )rs   r4   s    r$   ÚinfozBasePool.infoª   s   € à�~‰~ÓÐr2   c                 ó4   — | j                   | j                  k(  S r)   )rW   ra   r4   s    r$   ÚactivezBasePool.active®   s   € à�{‰{˜dŸh™hÑ&Ð&r2   c                 ó   — | j                   S r)   )r*   r4   s    r$   Únum_processeszBasePool.num_processes²   s   € à�z‰zÐr2   )NTTr   Nr)   )NN),rr   rq   Ú__qualname__Ú__doc__ra   rd   rV   r   ÚTimerÚsignal_safeÚis_greenrW   Ú_poolr`   Úuses_semaphoreÚtask_join_will_blockÚbody_can_be_bufferr1   r5   r8   r:   r<   r?   rB   rD   rH   rJ   rL   rR   rT   rX   rZ   rb   rf   re   rk   r   Ústrr   rs   Úpropertyru   rw   ry   r   r2   r$   r   r   /   s  „ Ùà
€CØ€EØ€Ià�L‰L€Eð €Kð €Hà€FØ€EØ€Kð €NàÐØÐàAEØ-1óòòòòòòòòòòó9ò8ò%òòò
òó(ð$

˜4  S ™>ó 

ð ñ ó ð ð ñ'ó ð'ð ñó ñr2   r   )r{   r^   Úosr   ÚtimeÚtypingr   r   Úbilliard.einfor   Úbilliard.exceptionsr   Úkombu.utils.encodingr   Úcelery.exceptionsr   r	   r
   Úcelery.utilsr   Úcelery.utils.logr   Úcelery.utils.textr   Ú__all__r\   r   r    r   r   r   r2   r$   Ú<module>r�      sl   ðÙ Û Û 	Û 
Û ß å (Ý /Ý *ç FÑ FÝ Ý 'Ý &à
&€á	�MÓ	"€ð !¨¸Ø!%¨4¸¿	¹	Ø¨¯©ó÷2Eò Er2   