o
    wvXjX:  ã                   @   sˆ
  d Z ddlmZmZ ddlZddlmZ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	Zej d
¡ZeedƒZdZerFdZnerVejdd… dk rTdZndZdg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$eG dd„ de%ƒƒ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&d0ƒe&d1ƒe&dd2d#�d3�“d4e#d(i d5e&dd,d#�“d6e&dd,d#�“d7e&dd,d#�“d8e&d,d#�“d9e&i d/d#�“d:e&d;d.d#�“d<e&d%d&d#�“d=e&d>d2d#�“d?e&dd,d#�“d@e&dAd2d#�“dBe&dCd2d#�“dDe&dd,d#�“dEe&dFd2d#�“dGe&dHd&d#�“dIe&d,d#�“dJe&d2d#�“dKe&d,d#�“dLe&d,d#�“dMe&d,d#�“Ž“dNe#e$dOƒe&ƒ e&i d/d#�dP�“dQe#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#�dR�
“dSe#e&d,d#�e&d,d#�e&d,d#�e&d,d#�e&d,d#�e&d,d#�dT�“dUe#e&dVd,d#�e&dWd2d#�e&dWd2d#�e&dd2d#�dX�“dYe#e&dZd.d#�e&d[d.d#�e&dVd,d#�d\�“d]e#e$d^ƒe&dd/d#�d_�“d`e#e$daƒe&dd/d#�d_�“dbe#e$dcƒe&d/d#�d_�“dde#e&ded,d#�e&dfd,d#�e&dgd,d#�e&dhd2d#�e&did2d#�dj�“dke#e$dlƒe&dmd.d#�e&dnd.d#�e&doƒe&dƒe&dod,d#�dp�“dqe#e$drƒe&d/d#�e&d2d#�e&d,d#�e&d2d#�e&d,d#�e&d2d#�e&dsd.d#�e&dd.d#�e&dHd&d#�e&dHd&d#�dt�“due#d(i dve$dwƒ“dxe&d,d#�“dye&dzd2d{h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&dHd&d#�“dˆe&dƒ“d‰e&i d/d#�“dŠe&d‹d.d#�“dŒe&dCd.d#�“d�e&dŽd2d#�“d�e&e'd�ƒd.d#�“d‘e&dFd2d#�“d’e&dHd&d#�“Ž“d“e#e$d”ƒe&d&d#�e&d2d#�e&d.d#�e&d%d&d#�d•�“d–e#e$d—ƒe&d/d#�d_�“d˜e#e$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&dHd&dŸhd!�e&d/d#�e&d/d hd!�d¡�“d¢e#d(i dve“d£e&dHd&d#�“d¤e&d%d&d#�“d¥e&dHd&d#�“d¦e&d§d#�“d|e&d,d¨hd!�“d©e&d%d&d#�“dªe&dHd&d#�“d«e&dWd,d#�“d¬e&dVƒ“d­e&dd,d#�“d®e&d�ƒ“d¯e&dd,d#�“d°e&d,d#�“d±e&dd,d#�“d²e&dHd&d³hd!�“d´e&dHd&d#�“dµe&dWd2d¶hd!�“d·e&d%d&d¸hd!�“d¹e&dddƒdºd»œd/d¼hd!�“d½e&d/d#�“d¾e&dd,d#�“d¿e&dd2d#�“dÀe&d&d#�“dÁe&dHd&d#�“dÂe&d§d#�“dÃe&dHd&dÄhd!�“dˆe&ddÅhd��“dÆe&d.dÇhd!�“dÈe&d.dÉhd!�“dÊe&dHd&d#�“dËe&dHd&d#�“Ž“dÌe#d(i dve!“dÍe&dd,d#�“dÎe&dÏƒ“dÐe&dd2d#�“dÑe&dÒd,d#�“d�e&dHd&dÓhd!�“dÔe&dHd&dÕhd!�“dÖe&d%d&d×hd!�“dØe&d%d&d#�“dÙe&d&d#�“dÚe&eƒ“dÛe&d[d.dÜhd!�“dÝe&d2d#�“dÞe&d2d#�“dße&eƒ“dàe&d%d&d#�“dáe&dHd&d#�“dâe&dãd.d#�“däe&d;d2d#�“dåe&d%d&dæhd!�“dçe&dèdéhd��“dêe&dHd&dëhd!�“dìe&ƒ “díe&eƒ“dîe&d,d#�“dïe&d‹d.d#�“Ž“ŽZ(dðdñ„ Z)dòdó„ Z*dôe)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 ƒZ0düdø„ e.D ƒZ1dZ.e2ee,ƒƒZ3e2ee1ƒƒZ4dýdþ„ Z5eddÿ��d�d �d„ƒZ6dS (  z)Configuration introspection and defaults.é    )Úabsolute_importÚunicode_literalsN)ÚdequeÚ
namedtuple)Ú	timedelta)ÚitemsÚkeysÚpython_2_unicode_compatible)Úmemoize)Ú	strtobool)ÚOptionÚ
NAMESPACESÚflattenÚfindÚjavaÚpypy_version_infoÚpreforkÚsoloé   )é   é   r   Ú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Útypec                    s8   | d urt |ƒD ]\‰ }|js‡ fdd„| D ƒ|_q|S )Nc                    s   h | ]}|  ˆ ¡’qS © ©Úformat)Ú.0Úo©r   r   úP/var/www/html/myproject/venv/lib/python3.10/site-packages/celery/app/defaults.pyÚ	<setcomp>0   s    zNamespace.<locals>.<setcomp>)r   Úold)Ú__old__ÚoptionsÚoptr   r"   r#   Ú	Namespace,   s   €r)   c                 C   s   d  | ¡hS )Nz	{0}_{{0}}r   )Únsr   r   r#   Úold_ns4   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>@   s    zOption.<lambda>)ÚstringÚintÚfloatÚanyÚboolÚdictÚtuplec                 O   s8   || _ | d¡p	d| _t|ƒD ]
\}}t| ||ƒ qd S )Nr   r/   )ÚdefaultÚgetr   r   Úsetattr)Úselfr6   ÚargsÚkwargsÚattrÚvaluer   r   r#   Ú__init__C   s
   ÿzOption.__init__c                 C   s   | j | j |ƒS r,   )Útypemapr   )r9   r=   r   r   r#   Ú	to_pythonI   s   zOption.to_pythonc                 C   s   d  | j| j¡S )Nz"<Option: type->{0} default->{1!r}>)r   r   r6   )r9   r   r   r#   Ú__repr__L   s   ÿzOption.__repr__r,   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚaltÚdeprecate_byÚ	remove_byÚsetr%   Ústrr0   r1   r   r4   r5   r?   r>   r@   rA   r   r   r   r#   r   8   s    ÿ
r   Úaccept_contentÚlist)r   r%   Úresult_accept_content)r   Ú
enable_utcTr3   Úimportsr   r5   ÚincludeÚtimezoner/   Úbeatr1   r4   zcelery.beat:PersistentSchedulerzcelerybeat-scheduler0   )r&   Úmax_loop_intervalÚscheduleÚ	schedulerÚschedule_filenameÚ
sync_everyÚbrokerÚurlÚread_urlÚ	write_urlÚ	transportÚtransport_optionsÚconnection_timeouté   Úconnection_retryÚconnection_max_retrieséd   Úfailover_strategyÚ	heartbeatéx   Úheartbeat_checkrateg      @Úlogin_methodÚ
pool_limité
   Úuse_sslFÚhostÚportÚuserÚpasswordÚvhostÚcacheÚcelery_cache)r&   ÚbackendÚbackend_optionsÚ	cassandra)
Ú	entry_ttlÚkeyspacerl   Úread_consistencyÚserversÚ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_attemptsÚ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      @Úceleryev)r&   r�   rŒ   Úqueue_prefixÚ
serializerrŽ   ÚredisÚcelery_redisg      ^@)r&   Úbackend_use_sslÚdbrk   Úmax_connectionsrn   rl   Úsocket_timeoutÚsocket_connect_timeoutÚretry_on_timeoutÚsocket_keepaliveÚresultr&   Úcelery_resultrr   Ú	cache_maxéÿÿÿÿÚcelery_max_cached_resultsÚcompressionrJ   rŽ   ÚceleryresultsÚexchange_typeÚdirectÚexpiresr   )Ú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ÚriakÚcelery_riakÚsecurityÚcelery_security)r&   ÚcertificateÚ
cert_storer   ÚdigestÚdatabaseÚcelery_result_dburi)r%   Úcelery_result_engine_optionsÚ%celery_result_db_short_lived_sessionsÚcelery_result_db_tablenames)rY   Úengine_optionsÚshort_lived_sessionsÚtable_schemasÚtable_namesÚtaskÚ	acks_lateÚacks_on_failure_or_timeoutÚalways_eagerÚannotationsr2   Ú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Ú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_ha_policyÚ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ÚworkerÚagentÚ
autoscalerz"celery.worker.autoscale:AutoscalerÚconcurrencyÚconsumerzcelery.worker.consumer:ConsumerÚcelery_worker_directÚdisable_rate_limitsÚcelery_disable_rate_limitsÚ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_keys]  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>c  s    ÿÿz_to_compat.<locals>.<listcomp>)r%   r'  r%  r   r)  r#   Ú
_to_compata  s
   þr+  Ú c           	      c   sx   � t || fgƒ}|r:| ¡ \}}t|ƒD ]!\}}t|tƒr)| || d |f¡ q||||ƒD ]}|V  q/q|s
dS dS )zFlatten settings.Ú_N)r   Úpopleftr   Ú
isinstancer4   Úappend)	ÚdÚrootÚ	keyfilterÚstackr*   r'   r   r(   Úretr   r   r#   r   j  s   €
ÿúr   c                 C   s   i | ]\}}||j “qS r   ©r6   )r    r   r(   r   r   r#   Ú
<dictcomp>w  s    ÿr7  )r3  c                 C   s   i | ]	\}}}||j “qS r   r6  )r    Úold_keyr-  r(   r   r   r#   r7  {  s    c                 C   s   i | ]\}}}||“qS r   r   ©r    r8  Únew_keyr-  r   r   r#   r7  |  ó    c                 C   s   i | ]\}}}||“qS r   r   r9  r   r   r#   r7  }  r;  c                 C   s\   ddl m} ttƒD ]!\}}|js|jr+t| |d ƒr+|jd |¡|j|jd |¡d� q
| S )Nr   )Ú
deprecatedzThe {0!r} settingzUse the {0.alt} instead)ÚdescriptionÚdeprecationÚremovalÚalternative)	Úcelery.utilsr<  r   r   rG   rH   ÚgetattrÚwarnr   )Úsourcer<  Únamer(   r   r   r#   Úfind_deprecated_settings„  s   ý€rF  )Úmaxsizec                 C   sÈ   |  ¡ }zt||   ¡ t| |   ¡  ƒW S  tyW   t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   r/  r4   ÚDEFAULTS)rE  r   r*   Úoptsr   r   r#   r   �  s&   ÿ
"ÿýýþr   r,   )r…   )7rE   Ú
__future__r   r   ÚsysÚcollectionsr   r   Údatetimer   Úcelery.fiver   r   r	   Úcelery.utils.functionalr
   Úcelery.utils.serializationr   Ú__all__ÚplatformÚ
startswithÚ	is_jythonÚhasattrÚis_pypyÚDEFAULT_POOLr   Ú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+   Úobjectr   r1   r   r&  r+  r   rJ  rL   Ú__compatÚ_OLD_DEFAULTSÚ_TO_OLD_KEYÚ_TO_NEW_KEYrI   ÚSETTING_KEYSÚ_OLD_SETTING_KEYSrF  r   r   r   r   r#   Ú<module>   sb  
þ
ÿþýüûú


ùùÿþý
üûúùø	÷
öõôóò
ð
ï
î
í
ìð&
üÚ,
öÔ8úÈ@



üÀF


ýºK
ýµP
þ°Tý¬Y




û§`


ù i



ô—wÿ
ýþü
ø	÷
öþõñðïîíìëêéè‰ 
ú �î ý �æ 
ú �á '
ÿÿ÷ �Ù 2ÿþýü
ûúùø	÷
öõôó
òñÿðíìÿëýûè
á à!ß
"Þ#Ý
$Ü%ÿÛ(Ø)ÿ×,ÿÔ/Ñ0Ð �Î dÿþýüûúÿù
ÿöó
òñð
ï
îíìëêéÿèÿåÿâ!ß"Þ
#Ý$Ü �œ  	ÿ