U
    d_9                  <   @   sJ  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gZd	 Zd
ZdZdhZdhZdhZeddZdddZdd ZG dd dZeeedededddedddeddededdedededeeedd dei d!ded"ed#edd$dd%eedddedddedddeddei d!ded&d deddded'd$deddded(d$ded)d$deddded*d$ded+ddedded$deddeddeddd,eed-e ei d!dd.e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d/
eeddeddeddeddeddeddd0eed1dded2d$ded2d$ded3d$ded4dded5d$ded(d$dd6eed7d ded8d ded1ddd9eed:edd!dd;eed<edd!dd;eed=ed!dd;eed>dded?dded@ddedAd$dedBd$ddCeedDedEd dedFd dedGededGdddHeedIed!ded$dedded$deddedded$dedJd dedd ded+dded+dddKeedLeddedMd$dNhdedOdedPedQeedRdSd dThdeddded+ddedei d!dedUd ded)d dedVd$deedWd ded*d$ded+dddXeedYedded$ded deddddZeed[eddeddeddeeddd\eed]hd^ed!d_hded+dd`hded!ded!dahddbeeed+ddeddded+ddedcdedddhdeddded+dded2dded1edddedQedddeddeddded+ddehded+dded+dded2d$dfhdedddghded3ddRdhdid!djhded!dedd$dedded+ddedcded+ddkhdeddlhd^ed dmhded dnhded+dded+dddo eeedddedped+ddedd$dedqdded+ddrhded+ddshded+ddedddthdedddeddeeed8d duhded$ded$deeeddded+ddedvd ded&d$dedddwhdedxdyhd^ed+ddzhde eeeddedUd dd{d|Zd}d~ Zdd Zd4efddZdd eeD ZeeeedZdd eD Z dd eD Z!dd eD Z"dZe#e$ Z%e#e"$ Z&dd Z'edddddZ(dS )z)Configuration introspection and defaults.    )deque
namedtuple)	timedelta)memoize)	strtobool)Option
NAMESPACESflattenfindZ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 k	r4|  D ]"\ }|js fdd| D |_q|S )Nc                    s   h | ]}|  qS  )format).0or   r   7/tmp/pip-unpacked-wheel-mu1yl971/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       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__)N)__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   list)r   r   )r   Tr(   r   r*   r$   r&   r)   zcelery.beat:PersistentSchedulerzcelerybeat-scheduler%   )r   Zmax_loop_intervalscheduleZ	schedulerZschedule_filenameZ
sync_every   d   x   g      @
   F)urlZread_urlZ	write_url	transportZtransport_optionsconnection_timeoutZconnection_retryZconnection_max_retriesZfailover_strategyZ	heartbeatZheartbeat_checkrateZlogin_methodZ
pool_limitZuse_sslhostportuserpasswordZvhostZcelery_cache)r   backendZbackend_options)
Z	entry_ttlZkeyspacerJ   Zread_consistencyZserverstableZwrite_consistencyZauth_providerZauth_kwargsr   )Zaccess_key_idZsecret_access_keyZbucket	base_pathZendpoint_urlZregioncelery          )Zcontainer_nameZretry_initial_backoff_secZretry_increment_baseZretry_max_attemptsrO   rH   read_timeoutg     r@g      $@)	queue_ttlqueue_expiresexchangeZcelery_couchbase)r   Zbackend_settingsZcelery_arangodbZcelery_mongodbZcelerydbZ	celerycolSession	      )Zdatabase_nameZcollection_nameZconsistency_levelZmax_retry_attemptsZmax_retry_wait_timeZcelery_eventg      N@g      @Zceleryev)r   rW   rV   Zqueue_prefix
serializerrX   Zcelery_redisg      ^@)r   Zbackend_use_ssldbrI   Zmax_connectionsusernamerL   rJ   socket_timeoutZsocket_connect_timeoutretry_on_timeoutZsocket_keepaliveZcelery_resultZcelery_max_cached_resultsr?   Zceleryresultsdirect   )daysZcelery_task_result_expiresg      ?i'  inf)r   rM   Z	cache_maxcompressionrX   Zexchange_typeexpires
persistentextendedr\   Zbackend_transport_optionsZchord_retry_intervalZchord_join_timeoutZ$backend_max_sleep_between_retries_msZbackend_max_retriesZ%backend_base_sleep_between_retries_msZbackend_always_retryZcelery_elasticsearch)r   r`   max_retriestimeoutZsave_meta_as_textZcelery_security)r   ZcertificateZ
cert_storer   digestZcelery_result_dburi)r   Zcelery_result_engine_optionsZ%celery_result_db_short_lived_sessionsZcelery_result_db_tablenames)rF   Zengine_optionsZshort_lived_sessionsZtable_schemasZtable_namesr'   Zcelery_message_compressionZ"celery_eager_propagates_exceptionsZcelery_task_protocolZcelery_task_publish_retryg?)rj   Zinterval_startZinterval_maxZinterval_stepZ celery_task_publish_retry_policyZcelery_send_task_sent_eventZcelery_task_serializerZceleryd_task_soft_time_limitZceleryd_task_time_limit) r   Z	acks_lateZacks_on_failure_or_timeoutZalways_eagerannotationsrf   Zcreate_missing_queuesZinherit_parent_priorityZdefault_delivery_modeZdefault_queueZdefault_exchangeZdefault_exchange_typeZdefault_routing_keyZdefault_rate_limitZdefault_priorityZeager_propagatesZignore_resultZstore_eager_resultprotocolZpublish_retryZpublish_retry_policyZqueuesZqueue_max_priorityZreject_on_worker_lostZremote_tracebacksZroutesZsend_sent_eventr\   Zsoft_time_limitZ
time_limitZstore_errors_even_if_ignoredZtrack_startedz"celery.worker.autoscale:Autoscalerzcelery.worker.consumer:ConsumerZcelery_worker_directZcelery_disable_rate_limitsZcelery_enable_remote_controlZceleryd_worker_lost_waitg      @Zcelery_redirect_stdoutsWARNINGZcelery_redirect_stdouts_levelZcelery_send_events)r   ZagentZ
autoscalerZ,cancel_long_running_tasks_on_connection_lossZconcurrencyZconsumerrb   Zdisable_rate_limitsZdeduplicate_successful_tasksZenable_remote_controlZhijack_root_loggerZ	log_colorZ
log_formatZ	lost_waitZmax_memory_per_childZmax_tasks_per_childpoolZpool_putlocksZpool_restartsZproc_alive_timeoutZprefetch_multiplierZredirect_stdoutsZredirect_stdouts_levelZsend_task_eventsZstate_dbZtask_log_formatZtimerZtimer_precision)Zaccept_contentZresult_accept_contentZ
enable_utcZimportsincludetimezoneZbeatZbrokercacheZ	cassandraZs3ZazureblockblobcontrolZ	couchbaseZarangodbZmongodbZcosmosdbsqleventZredisresultZelasticsearchsecurityZdatabaseZtaskZworkerc                 C   s   | | |fgS r    r   r   r   r   r   r   r   _flatten_keysS  s    ry   c                    s6   j r fddj D S      fgS )Nc                    s$   g | ]}|     fqS r   )r   upper)r   Zoldkeyr   r   r   r   r   
<listcomp>Y  s   z_to_compat.<locals>.<listcomp>)r   rz   rx   r   r{   r   
_to_compatW  s
    r}   c                 c   sj   t || fg}|rf| \}}| D ]<\}}t|trP||| d |f q&||||E dH  q&qdS )zFlatten settings._N)r   popleftr   
isinstancer)   append)droot	keyfilterstackr   r   r   r   r   r   r   r	   `  s    
r	   c                 C   s   i | ]\}}||j qS r   r+   )r   r   r   r   r   r   
<dictcomp>l  s     r   )r   c                 C   s   i | ]\}}}||j qS r   r   )r   old_keyr~   r   r   r   r   r   p  s      c                 C   s   i | ]\}}}||qS r   r   r   r   Znew_keyr~   r   r   r   r   q  s      c                 C   s   i | ]\}}}||qS r   r   r   r   r   r   r   r  s      c                 C   sb   ddl m} ttD ]H\}}|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deprecationZremovalalternative)	Zcelery.utilsr   r	   r   r<   r=   getattrwarnr;   )sourcer   namer   r   r   r   find_deprecated_settingsy  s    r   )maxsizec                 C   s   |  }zt||   t| |    W S  tk
r   t D ]n\}}|  |   krjtd||   Y S t|tr>z"t||   ||    W    Y S  tk
r   Y q>X q>Y nX td|   t|    S )zFind setting by name.N)lowerr   r   KeyErrorr   r   r)   DEFAULTS)r   r   r   optsr   r   r   r
     s"      
"r
   )N)rP   ))r:   collectionsr   r   datetimer   Zcelery.utils.functionalr   Zcelery.utils.serializationr   __all__ZDEFAULT_POOLZDEFAULT_ACCEPT_CONTENTstripZDEFAULT_PROCESS_LOG_FMTZDEFAULT_TASK_LOG_FMTZDEFAULT_SECURITY_DIGESTZOLD_NSZOLD_NS_BEATZOLD_NS_WORKERr   r   r   r   r&   r   ry   r}   r	   r   r@   Z__compatZ_OLD_DEFAULTSZ_TO_OLD_KEYZ_TO_NEW_KEYr>   keysZSETTING_KEYSZ_OLD_SETTING_KEYSr   r
   r   r   r   r   <module>   s  







	





















	












	



  










   








  

   

    

2
 

     




     
   	