Ë
    ™V.j‡!  ã                   óâ  — d Z ddlZddlZddlZddlZddlZddlZddlmZ ddl	m
Z
mZ ddlmZ ddlmZ ddlmZmZ ddlmZ d	Zd
e ej,                  «       dœZ eej2                  j5                  dd«      «      Z eej2                  j5                  dd«      «      Z eej2                  j5                  dd«      «      Z eej2                  j5                  dd«      «      Zi Z  ejB                  «       Z" ejB                  «       Z# eee¬«      Z$ e«       Z%dgZ& eee¬«      Z'i Z(dZ)dZ*d„ Z+d„ Z,e jZ                  e"j\                  fd„Z/de jZ                  e#j\                  e%j`                  fd„Z1de jd                  e#jf                  e"jf                  fd„Z4ej2                  j5                  d«      xs ej2                  j5                  d«      Z5 eej2                  j5                  d«      xs ej2                  j5                  d«      xs d«      Z6e5rTddl7Z7ddl8m9Z9 ddl:m;Z; dd l<m=Z=m>Z> da?da@daAdaBe6ZCg ZDe/ZEe4ZF e;«       jŽ                  d!k(  re7j�                  d"„ «       ZId#„ Z/d$„ Z4 G d%„ d&«      ZJy)'zwInternal worker state (global).

This includes the currently active and reserved tasks,
statistics, and revoked tasks.
é    N)ÚCounter)ÚpickleÚpickle_protocol)Úcached_property)Ú__version__)ÚWorkerShutdownÚWorkerTerminate)Ú
LimitedSet)
ÚSOFTWARE_INFOÚreserved_requestsÚactive_requestsÚtotal_countÚrevokedÚtask_reservedÚmaybe_shutdownÚtask_acceptedÚ
task_readyÚ
Persistentz	py-celery)Úsw_identÚsw_verÚsw_sysÚCELERY_WORKER_REVOKES_MAXiPÃ  ÚCELERY_WORKER_SUCCESSFUL_MAXiè  ÚCELERY_WORKER_REVOKE_EXPIRESi0*  Ú CELERY_WORKER_SUCCESSFUL_EXPIRES)ÚmaxlenÚexpiresc                  ó0  — t         j                  «        t        j                  «        t        j                  «        t        j                  «        t
        j                  «        dgt        d d  t        j                  «        t        j                  «        y )Nr   )	ÚrequestsÚclearr   r   Úsuccessful_requestsr   Úall_total_countr   Úrevoked_stamps© ó    úUC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\celery/worker/state.pyÚreset_stater'   M   s]   € Ü‡N�NÔÜ×ÑÔÜ×ÑÔÜ×ÑÔÜ×ÑÔØ˜„O‘AÐÜ‡M�M„OÜ×ÑÕr%   c                  óz   — t         �t         durt        t         «      ‚t        �t        durt        t        «      ‚yy)z Shutdown if flags have been set.NF)Úshould_terminater	   Úshould_stopr   r$   r%   r&   r   r   X   s<   € äÐ#Ô(8ÀÑ(EÜÔ.Ó/Ð/Ü	Ð	 ¤[¸Ñ%=Üœ[Ó)Ð)ð &>Ð	 r%   c                 ó:   —  || j                   | «        || «       y)z2Update global state when a task has been reserved.N)Úid)ÚrequestÚadd_requestÚadd_reserved_requests      r&   r   r   `   s   € ñ �—
‘
˜GÔ$Ù˜Õ!r%   c                 ó”   — |st         } || j                  | «        || «        || j                  di«       t         dxx   dz  cc<   y)z2Update global state when a task has been accepted.é   r   N)r"   r,   Úname)r-   Ú_all_total_countr.   Úadd_active_requestÚadd_to_total_counts        r&   r   r   h   sD   € ñ Ü*ÐÙ�—
‘
˜GÔ$Ù�wÔÙ˜Ÿ™ aÐ(Ô)Ü�AÓ˜!ÑÔr%   Fc                 óŒ   — |rt         j                  | j                  «        || j                  d«        || «        || «       y)z)Update global state when a task is ready.N)r!   Úaddr,   )r-   Ú
successfulÚremove_requestÚdiscard_active_requestÚdiscard_reserved_requests        r&   r   r   v   s7   € ñ Ü×Ñ §
¡
Ô+á�7—:‘:˜tÔ$Ù˜7Ô#Ù˜WÕ%r%   ÚC_BENCHÚCELERY_BENCHÚC_BENCH_EVERYÚCELERY_BENCH_EVERY)Ú	monotonic)Úcurrent_process)ÚmemdumpÚ
sample_memÚMainProcessc                  óì   — t         �nt        �gt        dj                  t        t         z
  «      «       t        dj                  t	        t
        «      t        t
        «      z  «      «       t        «        y y y )Nz- Time spent in benchmark: {!r}z	- Avg: {})Úbench_firstÚ
bench_lastÚprintÚformatÚsumÚbench_sampleÚlenrB   r$   r%   r&   Úon_shutdownrM   ™   s`   € äÐ&¬:Ð+AÜÐ7×>Ñ>Ü¤Ñ,ó.ô /ä�k×(Ñ(ÜœÓ%¬¬LÓ(9Ñ9ó;ô <ä•	ð ,BÐ&r%   c                 óP   — d}t         €t        «       xa }t        €|at        | «      S )z-Called when a task is reserved by the worker.N)Úbench_startr@   rF   Ú
__reserved)r-   Únows     r&   r   r   ¢   s1   € ð ˆÜÐÜ )£Ð+ˆK˜#ÜÐØˆKä˜'Ó"Ð"r%   c                 ó*  — t         dz  a t         t        z  sst        «       }|t        z
  }t	        dj                  t        |«      «       t        j                  j                  «        |xaa	t        j                  |«       t        «        t        | «      S )z Called when a task is completed.r1   zG- Time spent processing {} tasks (since first task received): ~{:.4f}s
)Ú	all_countÚbench_everyr@   rO   rH   rI   ÚsysÚstdoutÚflushrG   rK   ÚappendrC   Ú__ready)r-   rQ   Údiffs      r&   r   r   ®   sx   € ô
 	�Q‰ˆ	Üœ;Ò&Ü“+ˆCØœÑ$ˆDÜð /ß/5©v´kÀ4Ó/HôJä�J‰J×ÑÔØ'*Ð*ˆK˜*Ü×Ñ Ô%ÜŒLÜ�wÓÐr%   c                   óÂ   — e Zd ZdZeZeZej                  Z	ej                  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„ Zd„ Zd„ Zed„ «       Zed„ «       Zy)r   zÅStores worker state between restarts.

    This is the persistent data stored by the worker when
    :option:`celery worker --statedb` is enabled.

    Currently only stores revoked task id's.
    FNc                 óN   — || _         || _        || _        | j                  «        y ©N)ÚstateÚfilenameÚclockÚmerge)Úselfr^   r_   r`   s       r&   Ú__init__zPersistent.__init__Ï   s    € ØˆŒ
Ø ˆŒØˆŒ
Ø�
‰
�r%   c                 óf   — | j                   j                  | j                  | j                  d¬«      S )NT)ÚprotocolÚ	writeback)ÚstorageÚopenr_   re   ©rb   s    r&   rh   zPersistent.openÕ   s-   € Ø�|‰|× Ñ Ø�M‰M D§M¡M¸Tð !ó 
ð 	
r%   c                 ó:   — | j                  | j                  «       y r]   )Ú_merge_withÚdbri   s    r&   ra   zPersistent.mergeÚ   s   € Ø×Ñ˜Ÿ™Õ!r%   c                 ón   — | j                  | j                  «       | j                  j                  «        y r]   )Ú
_sync_withrl   Úsyncri   s    r&   ro   zPersistent.syncÝ   s   € Ø�‰˜Ÿ™Ô Ø�‰�‰�r%   c                 ó`   — | j                   r"| j                  j                  «        d| _         y y )NF)Ú_is_openrl   Úcloseri   s    r&   rr   zPersistent.closeá   s"   € Ø�=Š=Ø�G‰G�M‰MŒOØ!ˆD�Mð r%   c                 óD   — | j                  «        | j                  «        y r]   )ro   rr   ri   s    r&   ÚsavezPersistent.saveæ   s   € Ø�	‰	ŒØ�
‰
�r%   c                 óJ   — | j                  |«       | j                  |«       |S r]   )Ú_merge_revokedÚ_merge_clock©rb   Úds     r&   rk   zPersistent._merge_withê   s#   € Ø×Ñ˜AÔØ×Ñ˜!ÔØˆr%   c                 ó   — | j                   j                  «        |j                  d| j                  | j	                  | j                   «      «      | j
                  r| j
                  j                  «       nddœ«       |S )Né   r   )Ú	__proto__Úzrevokedr`   )Ú_revoked_tasksÚpurgeÚupdateÚcompressÚ_dumpsr`   Úforwardrx   s     r&   rn   zPersistent._sync_withï   sb   € Ø×Ñ×!Ñ!Ô#Ø	�‰ØØŸ™ d§k¡k°$×2EÑ2EÓ&FÓGØ-1¯ZªZ�T—Z‘Z×'Ñ'Ô)¸Qñ
ô 	ð
 ˆr%   c                 ó€   — | j                   r2| j                   j                  |j                  d«      xs d«      |d<   y y )Nr`   r   )r`   ÚadjustÚgetrx   s     r&   rw   zPersistent._merge_clockø   s3   € Ø�:Š:ØŸ™×*Ñ*¨1¯5©5°«>Ò+>¸QÓ?ˆAˆgŠJð r%   c                 óâ   — 	 | j                  |d   «       | j                  j                  «        y # t        $ r4 	 | j                  |j                  d«      «       n# t        $ r Y nw xY wY ŒWw xY w)Nr}   r   )Ú_merge_revoked_v3ÚKeyErrorÚ_merge_revoked_v2Úpopr~   r   rx   s     r&   rv   zPersistent._merge_revokedü   sl   € ð	Ø×"Ñ" 1 Z¡=Ô1ð 	×Ñ×!Ñ!Õ#øô ò 	ðØ×&Ñ& q§u¡u¨YÓ'7Õ8øÜò Ùðüð	ús2   ‚1 ±	A.» AÁA.Á	A(Á%A.Á'A(Á(A.Á-A.c                 ó„   — |r>| j                   j                  t        j                  | j	                  |«      «      «       y y r]   )r~   r€   r   ÚloadsÚ
decompress)rb   r}   s     r&   rˆ   zPersistent._merge_revoked_v3  s0   € ÙØ×Ñ×&Ñ&¤v§|¡|°D·O±OÀHÓ4MÓ'NÕOð r%   c                 ó|   — t        |t        «      s| j                  |«      S | j                  j	                  |«       y r]   )Ú
isinstancer
   Ú_merge_revoked_v1r~   r€   )rb   Úsaveds     r&   rŠ   zPersistent._merge_revoked_v2  s1   € Ü˜%¤Ô,à×)Ñ)¨%Ó0Ð0Ø×Ñ×"Ñ" 5Õ)r%   c                 óN   — | j                   j                  }|D ]
  } ||«       Œ y r]   )r~   r7   )rb   r’   r7   Úitems       r&   r‘   zPersistent._merge_revoked_v1  s$   € Ø×!Ñ!×%Ñ%ˆÛˆDÙ��Iñ r%   c                 óD   — t        j                  || j                  ¬«      S )N)re   )r   Údumpsre   )rb   Úobjs     r&   r‚   zPersistent._dumps  s   € Ü�|‰|˜C¨$¯-©-Ô8Ð8r%   c                 ó.   — | j                   j                  S r]   )r^   r   ri   s    r&   r~   zPersistent._revoked_tasks  s   € à�z‰z×!Ñ!Ð!r%   c                 ó0   — d| _         | j                  «       S )NT)rq   rh   ri   s    r&   rl   zPersistent.db  s   € àˆŒØ�y‰y‹{Ðr%   r]   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úshelverg   r   re   Úzlibr�   rŽ   rq   rc   rh   ra   ro   rr   rt   rk   rn   rw   rv   rˆ   rŠ   r‘   r‚   Úpropertyr~   r   rl   r$   r%   r&   r   r   À   sš   „ ñð €GØ€HØ�}‰}€HØ—‘€JØ€Hóò
ò
"òò"ò
òò
ò@ò	$òPò*òò
9ð ñ"ó ð"ð ñó ñr%   r   )Kr�   ÚosÚplatformrž   rU   ÚweakrefrŸ   Úcollectionsr   Úkombu.serializationr   r   Úkombu.utils.objectsr   Úceleryr   Úcelery.exceptionsr   r	   Úcelery.utils.collectionsr
   Ú__all__Úsystemr   ÚintÚenvironr†   ÚREVOKES_MAXÚSUCCESSFUL_MAXÚfloatÚREVOKE_EXPIRESÚSUCCESSFUL_EXPIRESr   ÚWeakSetr   r   r!   r   r"   r   r#   r*   r)   r'   r   Ú__setitem__r7   r   r€   r   r‹   Údiscardr   r<   r>   ÚatexitÚtimer@   Úbilliard.processrA   Úcelery.utils.debugrB   rC   rS   rF   rO   rG   rT   rK   rP   rY   Ú_nameÚregisterrM   r   r$   r%   r&   Ú<module>r¼      sn  ðñó
 
Û Û Û 
Û Û Ý ç 7Ý /å ß =Ý /ð€ð ØØˆh�o‰oÓñ€ñ �"—*‘*—.‘.Ð!<¸eÓDÓE€ñ �R—Z‘Z—^‘^Ð$BÀDÓIÓJ€ñ �r—z‘z—~‘~Ð&DÀeÓLÓM€ñ ˜2Ÿ:™:Ÿ>™>Ð*LÈeÓTÓUÐ ð €ð $�G—O‘OÓ%Ð ð "�'—/‘/Ó#€ñ !¨Ø);ô=Ð ñ ‹i€ð �#€ñ ˜K°Ô
@€ð €à€ØÐ òò*ð '×2Ñ2Ø'8×'<Ñ'<ó"ð $(Ø&×2Ñ2Ø%4×%8Ñ%8Ø%0×%7Ñ%7ó	ð  Ø&Ÿl™lØ&5×&=Ñ&=Ø(9×(AÑ(Aó	&ð �*‰*�.‰.˜Ó
#Ò
E r§z¡z§~¡~°nÓ'E€Ù�B—J‘J—N‘N ?Ó3ò AØ—J‘J—N‘NÐ#7Ó8òAØ<@óB€á
ÛÝå0ç6à€IØ€KØ€KØ€JØ€KØ€LØ€JØ€GáÓ×Ñ -Ò/Ø	�‰ñ	ó 
ð	ò
#ò ÷$`ò `r%   