Ë
    —V.jV2  ã                    óž  — d Z ddlZddlZddl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mZmZ ddlmZ ddlmZ dd	lmZmZmZmZ dd
lmZ ddlmZmZmZ  ee«      Z G d„ de«      Z  G d„ dejB                  «      Z" G d„ de«      Z# G d„ de«      Z$ e «       Z% e"«       Z& e#«       Z' e$«       Z(ejR                  jU                  d«      Z+	 	 	 dld„Z, ejZ                  eddi¬«       ej\                  dd e ed«      «      ee'dd¬«       ej\                  dd edddd!¬"«       ej\                  d#d$e ej^                  «       d%„ dd&¬'«       ej\                  d(d)d*eedd+¬«       ej\                  d,d-d.e ejB                  d/«      dd0¬«       ej\                  d1e0d2d3„ edd4¬5«       ej\                  d6d7e0d8d9„ ed:d;¬5«       ej\                  d<d=d>e&ed:d?¬@«       ej\                  dAdBdCdded:dD¬E«       ej\                  dFe1ed:dG¬H«       ej\                  dIe1ed:dJ¬H«       ej\                  dKe0ed:dL¬H«       ej\                  dMe0ed:dN¬H«       ej\                  dOdPdedQ¬R«       ej\                  dSdTe
edQ¬U«       ej\                  dVdWe
edQ¬U«       ej\                  dXdYe
edQ¬U«       ej\                  dZded[¬R«       ej\                  d\ded[¬R«       ej\                  d]ded[¬R«       ej\                  d^e0ed[¬U«       ej\                  d_e(ed[¬U«       ej\                  d`dae%eddb¬c«       ej\                  dddedfdg„ edb¬h«       ej\                  diedb¬j«      ejd                  e	 	 dmdk„«       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       Z3y)nz/Program used to start a Celery worker instance.é    N)Ú	ParamType)ÚStringParamType)Úconcurrency)ÚCOMMA_SEPARATED_LISTÚ	LOG_LEVELÚCeleryDaemonCommandÚCeleryOptionÚhandle_preload_options)ÚBasePool)ÚSecurityError)Ú
EX_FAILUREÚEX_OKÚdetachedÚmaybe_drop_privileges)Ú
get_logger)Údefault_nodenameÚhost_formatÚnode_formatc                   ó   — e Zd ZdZdZd„ Zy)Ú
CeleryBeatzCelery Beat flag.Úbeatc                 ól   — |j                   j                  j                  r|r| j                  d«       |S )NzR-B option does not work on Windows.  Please run celery beat as a separate service.)ÚobjÚappÚ
IS_WINDOWSÚfail©ÚselfÚvalueÚparamÚctxs       úSC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\celery/bin/worker.pyÚconvertzCeleryBeat.convert   s/   € Ø�7‰7�;‰;×!Ò!¡eØ�I‰Ið Fô Gð ˆó    N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Únamer#   © r$   r"   r   r      s   „ Ùà€Dór$   r   c                   ó0   ‡ — e Zd ZdZdZˆ fd„Zˆ fd„Zˆ xZS )ÚWorkersPoolzWorkers pool option.Úpoolc                 óH   •— t         ‰| �  t        j                  «       «       y)z=Initialize the workers pool option with the relevant choices.N)ÚsuperÚ__init__r   Úget_available_pool_names)r   Ú	__class__s    €r"   r1   zWorkersPool.__init__(   s   ø€ ä‰Ñœ×=Ñ=Ó?Õ@r$   c                 óV  •— t        |t        «      rt        |t        «      r|S t        ‰| �  |||«      }|j                  j                  j                  j                  }|dk(  r|rt        j                  |«      }|S t        j                  |«      }|st        j                  |«      }|S )NÚprefork)Ú
isinstanceÚtypeÚ
issubclassr   r0   r#   r   r   ÚconfÚworker_poolr   Úget_implementation)r   r   r    r!   r:   r3   s        €r"   r#   zWorkersPool.convert,   s•   ø€ ô �eœTÔ"¤z°%¼Ô'BØˆLä‘‘  u¨cÓ2ˆØ—g‘g—k‘k×&Ñ&×2Ñ2ˆØ�IÒ¡+ô  ×2Ñ2°;Ó?ˆEð ˆô  ×2Ñ2°5Ó9ˆEáÜ#×6Ñ6°{ÓC�àˆr$   )r&   r'   r(   r)   r*   r1   r#   Ú__classcell__)r3   s   @r"   r-   r-   #   s   ø„ Ùà€DôA÷ð r$   r-   c                   ó   — e Zd ZdZdZd„ Zy)ÚHostnamezHostname option.Úhostnamec                 ó*   — t        t        |«      «      S ©N)r   r   r   s       r"   r#   zHostname.convertG   s   € ÜÔ+¨EÓ2Ó3Ð3r$   Nr%   r+   r$   r"   r>   r>   B   s   „ Ùà€Dó4r$   r>   c                   ó   — e Zd ZdZdZd„ Zy)Ú	AutoscalezAutoscaling parameter.z<min workers>, <max workers>c           
      óÀ  — |j                  d«      }t        |«      dkD  r| j                  dt        |«      › d�«       t        |«      dk(  r	 t        |d   «      df}	 t        t        t        t        t        |«      «      «      «      S # t        $ r | j                  d|› d�«       Y ŒLw xY w# t        $ r' | j                  d|j                  d«      › d�«       Y y w xY w)	NÚ,é   z9Expected two comma separated integers or one integer.Got z	 instead.é   r   zExpected an integer. Got z*Expected two comma separated integers.Got )
ÚsplitÚlenr   ÚintÚ
ValueErrorÚtupleÚreversedÚsortedÚmapÚjoinr   s       r"   r#   zAutoscale.convertP   sà   € Ø—‘˜CÓ ˆäˆu‹:˜Š>Ø�I‰Ið Ü  ›Z˜L¨	ð3ô 4ô ˆu‹:˜Š?ðHÜ˜U 1™X›¨Ð*�ð	9Üœ¤&¬¬S°%«Ó"9Ó:Ó;Ð;øô	 ò HØ—	‘	Ð5°e°W¸IÐFÖGðHûô
 ò 	9Ø�I‰Ið Ø"ŸZ™Z¨›_Ð-¨Yð8ö 9ð	9ús$   ÁB	 Á*B- Â	B*Â)B*Â--CÃCNr%   r+   r$   r"   rC   rC   K   s   „ Ù à)€Dó9r$   rC   Ú
C_FAKEFORKFc           
      ó¬  — t         rdn|}t        ||«      }t        |||||||d¬«      5  	 |
�|
} t        j                  | | g|z   «       t
        cddd«       S # t        $ re |	€ddlm} |}	|	j                  j                  d||¬«       t        j                  d	d
j                  | g|z   «      d¬«       t        cY cddd«       S w xY w# 1 sw Y   yxY w)zDetach program by argv.rG   F)Úafter_forkersNr   )Úcurrent_appÚERROR)r?   zCan't exec %rÚ T)Úexc_info)rQ   r   r   ÚosÚexecvr   Ú	ExceptionÚceleryrT   ÚlogÚsetup_logging_subsystemÚloggerÚcriticalrP   r   )ÚpathÚargvÚlogfileÚpidfileÚuidÚgidÚumaskÚworkdirÚfaker   Ú
executabler?   rT   s                r"   Údetachrj   l   sã   € õ ‰1 €Dô
 ˜' 8Ó,€GÜ	�'˜7 C¨¨e°W¸dØ %ö
'ð	ØÐ%Ø!�Ü�H‰H�T˜D˜6 D™=Ô)Ü÷
'ñ 
'øô ò 	Øˆ{Ý.Ø!�Ø�G‰G×+Ñ+Ø˜¨8ð ,ô 5ä�O‰O˜O¨S¯X©X°t°f¸t±mÓ-DØ%)ð ô +äÑ÷
'ñ 
'ð	ú÷
'ð 
'ús)   ªC
¬#AÁA"CÂ;C
ÃCÃC
Ã
CÚallow_extra_argsT)ÚclsÚcontext_settingsz-nz
--hostnamezWorker Optionsz]Set custom hostname (e.g., 'w1@%%h').  Expands: %%h (hostname), %%n (name) and %%d, (domain).)Údefaultrl   r7   Ú
help_groupÚhelpú-Dú--detachz%Start worker as a background process.)rl   Úis_flagrn   ro   rp   z-Sz	--statedbc                 ó^   — |xs* | j                   j                  j                  j                  S rA   )r   r   r9   Úworker_state_db©r!   Ú_r   s      r"   Ú<lambda>rx   �   s!   € ØÒ>˜cŸg™gŸk™k×.Ñ.×>Ñ>Ð>r$   zPPath to the state database. The extension '.db' may be appended to the filename.)rl   r7   Úcallbackro   rp   z-lz
--loglevelÚWARNINGzLogging level.z-Oz--optimizationrn   )rn   ÚfairzApply optimization profile.z--prefetch-multiplierz<prefetch multiplier>c                 ó^   — |xs* | j                   j                  j                  j                  S rA   )r   r   r9   Úworker_prefetch_multiplierrv   s      r"   rx   rx   ³   s!   € ØÒI˜cŸg™gŸk™k×.Ñ.×IÑIÐIr$   z>Set custom prefetch multiplier value for this worker instance.)r7   Úmetavarry   rl   ro   rp   z-cz--concurrencyz<concurrency>c                 ó^   — |xs* | j                   j                  j                  j                  S rA   )r   r   r9   Úworker_concurrencyrv   s      r"   rx   rx   ½   s!   € ØÒA˜cŸg™gŸk™k×.Ñ.×AÑAÐAr$   zPool OptionszlNumber of child processes processing the queue.  The default is the number of CPUs available on your system.z-Pz--poolr5   zPool implementation.)rn   r7   rl   ro   rp   z-Ez--task-eventsz--eventszdSend task-related events that can be captured by monitors like celery events, celerymon, and others.)rs   rn   rl   ro   rp   z--time-limitz;Enables a hard time limit (in seconds int/float) for tasks.)r7   rl   ro   rp   z--soft-time-limitz;Enables a soft time limit (in seconds int/float) for tasks.z--max-tasks-per-childzfMaximum number of tasks a pool worker can execute before it's terminated and replaced by a new worker.z--max-memory-per-childa  Maximum amount of resident memory, in KiB, that may be consumed by a child process before it will be replaced by a new one.  If a single task causes a child process to exceed this limit, the task will be completed and the child process will be replaced afterwards.
Default: no limit.z--purgez	--discardzQueue Options)rs   rl   ro   z--queuesz-Q)r7   rl   ro   z--exclude-queuesz-Xz	--includez-Iz--without-gossipÚFeaturesz--without-minglez--without-heartbeatz--heartbeat-intervalz--autoscalez-Bz--beatzEmbedded Beat Options)r7   rl   rs   ro   z-sz--schedule-filenamez
--schedulec                 ó^   — |xs* | j                   j                  j                  j                  S rA   )r   r   r9   Úbeat_schedule_filenamerv   s      r"   rx   rx   !  s!   € ØÒE˜cŸg™gŸk™k×.Ñ.×EÑEÐEr$   )ry   rl   ro   z--scheduler)rl   ro   c
                 óH  — 	 | j                   j                  }| j                  r	 |j                  | j                  d¬«       |
j                  dd«      rÀdd	gt        j                  d
d z   }d|v r|j                  d«       d|v r|j                  d«       d|v r|j                  d«       d|v r|j                  d«       t        t        j                  ||||||
j                  dd«      |
j                  dd«      ||
j                  dd«      |¬«      S t        ||¬«        |j                  d||||t!        ||«      t!        |	|«      | j                   j"                  | j                   j$                  dœ|
¤Ž}|j'                  «        | j)                  |j*                  «       y# t        t
        f$ r}t        j                  d|› �| ¬«      ‚d}~ww xY w# t,        $ rC}| j                   j/                  |j                  d   «       | j)                  d
«       Y d}~yd}~ww xY w)a*  Start worker instance.

    
    Examples
    --------

    
    $ celery --app=proj worker -l INFO
    $ celery -A proj worker -l INFO -Q hipri,lopri
    $ celery -A proj worker --concurrency=4
    $ celery -A proj worker --concurrency=1000 -P eventlet
    $ celery worker --autoscale=10,0

    Úworker)Ú	namespacez?Unable to parse extra configuration from command line.
Reason: )r!   Nrj   Fz-mr[   rG   rr   rq   z--uidz--gidrf   rg   ri   )	rb   rc   rd   re   rf   rg   r   ri   r?   )rd   re   )r?   Úpool_clsÚloglevelrb   rc   ÚstatedbÚno_colorÚquietr   r+   )r   r   ÚargsÚconfig_from_cmdlineÚKeyErrorrK   ÚclickÚ
UsageErrorÚgetÚsysra   Úremoverj   ri   r   ÚWorkerr   rŠ   r‹   ÚstartÚexitÚexitcoder   Úerror)r!   r?   r‡   r   rd   re   rˆ   rb   rc   r‰   ÚkwargsÚera   r…   s                 r"   r…   r…   ˆ   sï  € ðf-Ø�g‰g�k‰kˆØ�8Š8ð-Ø×'Ñ'¨¯©¸HÐ'ÔEð �:‰:�h Ô&Ø˜(Ð#¤c§h¡h¨q¨r lÑ2ˆDØ˜TÑ!Ø—‘˜JÔ'Ø�t‰|Ø—‘˜DÔ!Ø˜$‰Ø—‘˜GÔ$Ø˜$‰Ø—‘˜GÔ$äœ#Ÿ.™.ØØ")Ø")Ø! sØ &§
¡
¨7°DÓ 9Ø"(§*¡*¨Y¸Ó"=Ø!Ø%+§Z¡Z°¸dÓ%CØ#+ô	-ð 	-ô 	 #¨3Õ/Ø�—‘ð Ø¨¸8ØÜ ¨Ó2Ü ¨Ó2Ø—W‘W×%Ñ%Ø—'‘'—-‘-ñð ñˆð 	�‰ŒØ�‰�—‘Õ!øôK œjÐ)ò -ä×&Ñ&ðØ ˜cð#Ø(+ô-ð -ûð-ûôL ò Ø�‰�‰�a—f‘f˜Q‘iÔ Ø�‰��‰ûðúsB   ‚"G ¥F$ ÁCG ÄBG Æ$GÆ3GÇGÇG Ç	H!Ç9HÈH!)
NNNNNNFNNN)	NNNNNNNNN)4r)   rX   r’   r�   r   Úclick.typesr   r[   r   Úcelery.bin.baser   r   r   r	   r
   Úcelery.concurrency.baser   Úcelery.exceptionsr   Úcelery.platformsr   r   r   r   Úcelery.utils.logr   Úcelery.utils.nodenamesr   r   r   r&   r^   r   ÚChoicer-   r>   rC   ÚCELERY_BEATÚWORKERS_POOLÚHOSTNAMEÚ	AUTOSCALEÚenvironr‘   rQ   rj   ÚcommandÚoptionÚPathrJ   ÚfloatÚpass_contextr…   r+   r$   r"   Ú<module>r­      sä  ðÙ 5ã 	Û 
ã Ý Ý 'å ÷5õ 5å ,Ý +ß OÓ OÝ 'ß MÑ Má	�HÓ	€ô
�ô 
ô�%—,‘,ô ô>4ˆô 4ô9�	ô 9ñ2 ‹l€Ù‹}€Ù‹:€Ù‹K€	à�Z‰Z�^‰^˜LÓ)€
ð 8<Ø?CØ%)óð8 €‡�Ð&Ø!3°TÐ :ô<à€‡�ˆdØÙ!Ñ"2°4Ó"8Ó9ØØØ)ðLôMð €‡�ˆdØØØØØ)Ø:ô<ð €‡�ˆdØØØ�5—:‘:“<ñ?à)ð/ô0ð €‡�ˆdØØØØØ)Ø#ô%ð €‡�ˆdØØØØ�5—<‘<Ð 3Ó4Ø)Ø0ô2ð €‡�Ð%ØØ-ñJàØ)ð/ô0ð €‡�ˆdØØØ%ñBàØ'ð&ô
'ð €‡�ˆdØØØØØ'Ø)ô+ð €‡�ˆdØØØØØØ'ðAôBð €‡�ˆnØØØ'ð7ô	8ð €‡�Ð!ØØØ'ð7ô	8ð €‡�Ð%ØØØ'ðCô	Dð €‡�Ð&ØØØ'ð(ô		)ð €‡�ˆiØØØØ(ô	*ð
 €‡�ˆjØØ'ØØ(ô	*ð
 €‡�Ð ØØ'ØØ(ô	*ð
 €‡�ˆkØØ'ØØ(ô	*ð
 €‡�Ð ØØØ#ô%ð €‡�Ð ØØØ#ô%ð €‡�Ð#ØØØ#ô'ð €‡�Ð$ØØØ#ô'ð €‡�ˆmØØØ#ô'ð €‡�ˆdØØØØØ0ô2ð €‡�ˆdØ#ØñFàØ0ô2ð €‡�ˆmØØ0ô2ð ×ÑØØFJØ>Bò>ó ó ó2ó2ó2ó	'ó	'ó	'ó	%ó	%ó*ó*ó*ó*ó	)óDó8ó8óBó+ó
'ó0ó2ó%ó0ó<óMó<ñD>r$   