o
    ›¨Êh¦:  ã                   @   s‚
  d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 dZ
dZdZd	 ¡ Zd
ZdZdhZdhZdhZeddƒZ�ddd„Zdd„ ZG dd„ dƒZed!i deeded�“deddd�“deddd�“d ed!d"ed�“d#ed!d"ed�“d$ed%ed�“d&eeedd'd�ei d(d�ed)ƒed*ƒedd+d�eded�d,�“d-ed!i d.edd%d�“d/edd%d�“d0edd%d�“d1ed%d�“d2ei d(d�“d3ed4d'd�“d5eddd�“d6eddd�“d7ed8d+d�“d9ed:dd�“d;edd%d�“d<ed=d+d�“d>ed?d+d�“d@edd%d�“dAedBd+d�“dCed:dd�“dDed%d�“dEed+d�“dFed%d�“dGed%d�“dHed%d�“Ž“dIeedJƒeƒ ei d(d�dK�“dLeed'd�ed%d�ed%d�ed%d�edd�ed%d�ed%d�ed%d�ed%d�ed%d�ei d(d�dM�“dNeed%d�ed%d�ed%d�ed%d�ed%d�ed%d�dO�“dPeedQd%d�edRd+d�edRd+d�edSd+d�edTd%d�edUd+d�ed=d+d�dV�“dWeedXd'd�edYd'd�edQd%d�dZ�“d[eed\ƒedd(d�d]�“d^eed_ƒedd(d�d]�“d`eedaƒed(d�d]�“dbeedcd%d�eddd%d�eded%d�edfd+d�edgd+d�dh�“dieedjƒedkd'd�edld'd�edmƒednƒedmd%d�do�“dpeedqƒed(d�ed+d�ed%d�ed+d�ed%d�ed%d�ed+d�edrd'd�edd'd�ed:dd�ed:dd�ds�“dted!i duedvƒ“dwed%d�“dxedyd+dzhd�“d{ed|d�“d}ed~ƒ“ded€ƒ“d�eed‚dƒ�d'd„hd�“d…eddd�“d†ed:dd�“d‡ednƒ“dˆei d(d�“d‰edŠd'd�“d‹ed?d'd�“dŒed�d+d�“dŽeed�ƒd'd�“d�edBd+d�“d‘ed:dd�“Ž“d’eed“ƒedd�ed+d�ed'd�eddd�d”�“d•eed–ƒed%d�ed%d�ed%d�ed—d�eed%d�d˜�“d™eedšhd›�ed(dœhd�ed:dd�hd�ed(d�ed(džhd�dŸ�“d ed!i due“d¡ed:dd�“d¢eddd�“d£ed:dd�“d¤ed¥d�“d{ed%d¦hd�“d§eddd�“d¨ed:dd�“d©edRd%d�“dªedQƒ“d«edd%d�“d¬ed€ƒ“d­edd%d�“d®ed%d�“d¯edd%d�“d°ed:dd±hd�“d²ed:dd�“d³ed:dd�“d´edRd+dµhd�“d¶eddd·hd�“d¸edSdd‚d¹dºœd(d»hd�“d¼ed(d�“d½edd+d�“d¾edd�“d¿ed:dd�“dÀed¥d�“dÁed:ddÂhd�“d‡edndÃhd›�“dÄed'dÅhd�“dÆed'dÇhd�“dÈed:dd�“dÉed:dd�“dÊed:dd�“Ž“dËed!i due“dÌedd%d�“dÍedÎƒ“dÏed:dd�“dÐedd+d�“dÑedÒd%d�“d€ed:ddÓhd�“dÔed:ddÕhd�“dÖed:dd�“d×edddØhd�“dÙeddd�“dÚedd�“dÛeeƒ“dÜedYd'dÝhd�“dÞed+d�“dßed+d�“dàeeƒ“dáeddd�“dâed:dd�“dãedäd'd�“dåed4d+d�“dæedddçhd�“dèedédêhd›�“dëed:ddìhd�“díeƒ “dîeeƒ“dïed%d�“dðedŠd'd�“Ž“ŽZdñdò„ Zdódô„ ZdTefdõdö„Zd÷dø„ eeƒD ƒZeeeedù�ƒZ dúdø„ e D ƒZ!dûdø„ e D ƒZ"düdø„ e D ƒZ#dZ e$e %¡ ƒZ&e$e# %¡ ƒZ'dýdþ„ Z(eddÿ��d�d �d„ƒZ)dS (  z)Configuration introspection and defaults.é    )ÚdequeÚ
namedtuple)Ú	timedelta)Úmemoize)Ú	strtobool)ÚOptionÚ
NAMESPACESÚflattenÚfindÚprefork)Újsonz>
    [%(asctime)s: %(levelname)s/%(processName)s] %(message)s
zT[%(asctime)s: %(levelname)s/%(processName)s] %(task_name)s[%(task_id)s]: %(message)sÚsha256z
celery_{0}zcelerybeat_{0}zceleryd_{0}Úsearchresult)Ú	namespaceÚkeyÚtypeNc                    s8   | d ur|  ¡ D ]\‰ }|js‡ fdd„| D ƒ|_q|S )Nc                    s   h | ]}|  ˆ ¡’qS © )Úformat)Ú.0Úo©r   r   úE/var/www/html/env/lib/python3.10/site-packages/celery/app/defaults.pyÚ	<setcomp>"   s    zNamespace.<locals>.<setcomp>)ÚitemsÚold)Ú__old__ÚoptionsÚoptr   r   r   Ú	Namespace   s   €r   c                 C   s   | › d�hS )Nz_{0}r   )Únsr   r   r   Úold_ns&   s   r    c                   @   sT   e Zd ZdZdZdZdZeƒ Ze	e
edd„ eeedœZddd„Zdd	„ Zd
d„ ZdS )r   z(Describes a Celery configuration option.Nc                 C   s   | S ©Nr   )Úvr   r   r   Ú<lambda>1   s    zOption.<lambda>)ÚstringÚintÚfloatÚanyÚboolÚdictÚtuplec                 O   s8   || _ | d¡p	d| _| ¡ D ]
\}}t| ||ƒ qd S )Nr   r$   )ÚdefaultÚgetr   r   Úsetattr)Úselfr+   ÚargsÚkwargsÚattrÚvaluer   r   r   Ú__init__4   s
   ÿzOption.__init__c                 C   s   | j | j |ƒS r!   )Útypemapr   )r.   r2   r   r   r   Ú	to_python:   s   zOption.to_pythonc                 C   s   d  | j| j¡S )Nz <Option: type->{} default->{!r}>)r   r   r+   )r.   r   r   r   Ú__repr__=   s   ÿzOption.__repr__r!   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚaltÚdeprecate_byÚ	remove_byÚsetr   Ústrr%   r&   r   r)   r*   r4   r3   r5   r6   r   r   r   r   r   *   s    ÿ
r   Úaccept_contentÚlist)r   r   Úresult_accept_content)r   Ú
enable_utcTr(   Úimportsr   r*   ÚincludeÚtimezoner$   Úbeatr&   r)   zcelery.beat:PersistentSchedulerzcelerybeat-scheduler%   )r   Úmax_loop_intervalÚscheduleÚ	schedulerÚschedule_filenameÚ
sync_everyÚcron_starting_deadlineÚbrokerÚurlÚread_urlÚ	write_urlÚ	transportÚtransport_optionsÚconnection_timeouté   Úconnection_retryÚconnection_retry_on_startupÚconnection_max_retrieséd   Úchannel_error_retryFÚfailover_strategyÚ	heartbeatéx   Úheartbeat_checkrateg      @Úlogin_methodÚ
pool_limité
   Úuse_sslÚhostÚportÚuserÚpasswordÚvhostÚcacheÚcelery_cache)r   ÚbackendÚbackend_optionsÚ	cassandra)Ú	entry_ttlÚkeyspacerd   Úread_consistencyÚserversÚbundle_pathÚtableÚwrite_consistencyÚauth_providerÚauth_kwargsr   Ús3)Úaccess_key_idÚsecret_access_keyÚbucketÚ	base_pathÚendpoint_urlÚregionÚazureblockblobÚceleryé   é   Ú é   )Úcontainer_nameÚretry_initial_backoff_secÚretry_increment_baseÚretry_max_attemptsrz   rT   Úread_timeoutÚcontrolg     Àr@g      $@)Ú	queue_ttlÚqueue_expiresÚexchangeÚ	couchbaseÚcelery_couchbase)r   Úbackend_settingsÚarangodbÚcelery_arangodbÚmongodbÚcelery_mongodbÚcosmosdbsqlÚcelerydbÚ	celerycolÚSessioné	   é   )Údatabase_nameÚcollection_nameÚconsistency_levelÚmax_retry_attemptsÚmax_retry_wait_timeÚeventÚcelery_eventg      N@g      @Úceleryevr   )r   rŠ   r‰   Úqueue_prefixÚ
serializerr‹   ÚredisÚcelery_redisg      ^@)r   Úbackend_use_sslÚdbrc   Úmax_connectionsÚusernamerf   rd   Úsocket_timeoutÚsocket_connect_timeoutÚretry_on_timeoutÚsocket_keepaliveÚresultr   Úcelery_resultrj   Ú	cache_maxéÿÿÿÿÚcelery_max_cached_resultsÚcompressionr?   r‹   ÚceleryresultsÚexchange_typeÚdirectÚexpiresé   )ÚdaysÚcelery_task_result_expiresÚ
persistentÚextendedr¢   Úbackend_transport_optionsÚchord_retry_intervalg      ð?Úchord_join_timeoutÚ$backend_max_sleep_between_retries_msi'  Úbackend_max_retriesÚinfÚ%backend_base_sleep_between_retries_msÚbackend_always_retryÚelasticsearchÚcelery_elasticsearch)r   r«   Úmax_retriesÚtimeoutÚsave_meta_as_textÚsecurityÚcelery_securityÚbytes)r   ÚcertificateÚ
cert_storer   Úkey_passwordÚdigestÚdatabaseÚcelery_result_dburi)r   Úcelery_result_engine_optionsÚ%celery_result_db_short_lived_sessionsÚcelery_result_db_tablenames)rO   Úengine_optionsÚshort_lived_sessionsÚtable_schemasÚtable_namesÚtaskÚ	acks_lateÚacks_on_failure_or_timeoutÚalways_eagerÚannotationsr'   Úcelery_message_compressionÚcreate_missing_queuesÚinherit_parent_priorityÚdefault_delivery_modeÚdefault_queueÚdefault_exchangeÚdefault_exchange_typeÚdefault_routing_keyÚdefault_rate_limitÚdefault_priorityÚeager_propagatesÚ"celery_eager_propagates_exceptionsÚignore_resultÚstore_eager_resultÚprotocolÚcelery_task_protocolÚpublish_retryÚcelery_task_publish_retryÚpublish_retry_policygš™™™™™É?)rÆ   Úinterval_startÚinterval_maxÚinterval_stepÚ celery_task_publish_retry_policyÚqueuesÚqueue_max_priorityÚreject_on_worker_lostÚremote_tracebacksÚroutesÚsend_sent_eventÚcelery_send_task_sent_eventÚcelery_task_serializerÚsoft_time_limitÚceleryd_task_soft_time_limitÚ
time_limitÚceleryd_task_time_limitÚstore_errors_even_if_ignoredÚtrack_startedÚallow_error_cb_on_chord_headerÚworkerÚagentÚ
autoscalerz"celery.worker.autoscale:AutoscalerÚ,cancel_long_running_tasks_on_connection_lossÚconcurrencyÚconsumerzcelery.worker.consumer:ConsumerÚcelery_worker_directÚdisable_rate_limitsÚcelery_disable_rate_limitsÚdeduplicate_successful_tasksÚenable_remote_controlÚcelery_enable_remote_controlÚhijack_root_loggerÚ	log_colorÚ
log_formatÚ	lost_waitÚceleryd_worker_lost_waitÚmax_memory_per_childÚmax_tasks_per_childÚpoolÚpool_putlocksÚpool_restartsÚproc_alive_timeoutg      @Úprefetch_multiplierÚredirect_stdoutsÚcelery_redirect_stdoutsÚredirect_stdouts_levelÚWARNINGÚcelery_redirect_stdouts_levelÚsend_task_eventsÚcelery_send_eventsÚstate_dbÚtask_log_formatÚtimerÚtimer_precisionc                 C   s   | | |fgS r!   r   ©r   r   r   r   r   r   Ú_flatten_keysY  s   r(  c                    s6   ˆj r‡ ‡‡fdd„ˆj D ƒS ˆˆ   ¡ ˆˆ  ˆfgS )Nc                    s$   g | ]}|  ˆ ¡ ¡ ˆˆ  ˆf‘qS r   )r   Úupper)r   Úoldkey©r   r   r   r   r   Ú
<listcomp>_  s    ÿÿz_to_compat.<locals>.<listcomp>)r   r)  r'  r   r+  r   Ú
_to_compat]  s
   þr-  c                 c   sr   � t || fgƒ}|r7| ¡ \}}| ¡ D ]\}}t|tƒr)| || d |f¡ q||||ƒE dH  q|s
dS dS )zFlatten settings.Ú_N)r   Úpopleftr   Ú
isinstancer)   Úappend)ÚdÚrootÚ	keyfilterÚstackr   r   r   r   r   r   r   r	   f  s   €
úr	   c                 C   s   i | ]\}}||j “qS r   ©r+   )r   r   r   r   r   r   Ú
<dictcomp>r  s    ÿr7  )r4  c                 C   s   i | ]	\}}}||j “qS r   r6  )r   Úold_keyr.  r   r   r   r   r7  v  s    c                 C   s   i | ]\}}}||“qS r   r   ©r   r8  Únew_keyr.  r   r   r   r7  w  ó    c                 C   s   i | ]\}}}||“qS r   r   r9  r   r   r   r7  x  r;  c                 C   sb   ddl m} ttƒD ]$\}}|js|jr.t| |d ƒr.|jd|›d�|j|jd|j› d�d� q
| S )Nr   )Ú
deprecatedzThe z settingzUse the z instead)ÚdescriptionÚdeprecationÚremovalÚalternative)	Úcelery.utilsr<  r	   r   r<   r=   ÚgetattrÚwarnr;   )Úsourcer<  Únamer   r   r   r   Úfind_deprecated_settings  s   ý€rF  )Úmaxsizec                 C   sÈ   |  ¡ }zt||   ¡ t| |   ¡  ƒW S  tyW   t ¡ D ]6\}}|  ¡ |   ¡ kr4td||ƒ   Y S t|tƒrTzt||   ¡ ||   ¡  ƒW    Y S  tyS   Y qw qY nw td|   ¡ t|   ¡  ƒS )zFind setting by name.N)Úlowerr   r   ÚKeyErrorr   r0  r)   ÚDEFAULTS)rE  r   r   Úoptsr   r   r   r
   Š  s&   ÿ
"ÿýýþr
   r!   )r~   )*r:   Úcollectionsr   r   Údatetimer   Úcelery.utils.functionalr   Úcelery.utils.serializationr   Ú__all__ÚDEFAULT_POOLÚDEFAULT_ACCEPT_CONTENTÚstripÚDEFAULT_PROCESS_LOG_FMTÚDEFAULT_TASK_LOG_FMTÚDEFAULT_SECURITY_DIGESTÚOLD_NSÚOLD_NS_BEATÚOLD_NS_WORKERr   r   r    r   r%   r&   r   r(  r-  r	   rJ  rA   Ú__compatÚ_OLD_DEFAULTSÚ_TO_OLD_KEYÚ_TO_NEW_KEYr>   ÚkeysÚSETTING_KEYSÚ_OLD_SETTING_KEYSrF  r
   r   r   r   r   Ú<module>   sf   þ
ÿþýüûú



øùÿþý
üûúùø	÷
öõôóòñð
î
í
ì
ë
êï)
ü×/
õÑ<úÄD






ù¼M


ý³R
ý®W
þ©[ý¥`




û g


ù™p



ó�ÿ
ýþü
ø	÷
öþõñðïîíìëêéè� 
ú �æ "
ù �Þ +
ÿÿ÷ �Õ 6ÿþýü
ûúùø	÷
öõôó
òñÿðíìëÿêýûç
 à!ß
"Þ#Ý
$Ü%ÿÛ(Ø)ÿ×,ÿÔ/Ñ0Ð1Ï �Ê iÿþýÿüùø	÷
ÿöÿóÿðí
ìëê
é
èçæåäãÿâ!ÿß$ÿÜ'Ù(Ø
)×*Ö �—  	ÿ