o
    Df;                     @   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d%ded%dedTd%dedd'ddXdYeedZd'ded[d'dedQd%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dhd+dedid+ddjdkeedledmd'dednd'dedoedpedod%ddqdreedsed(ded+ded%ded+ded%ded%ded+dedtd'dedd'ded:dded:dddudved!i dwedxdyed%ddzed{d+d|hdd}ed~ddeddeddeeddd'dhddedddded:dddedpdei d(ddedd'dded?d'ddedd+ddeedd'ddedBd+dded:dddeededded+ded'dedddddeeded%ded%ded%deddeed%dddeedhded(dhded:ddhded(ded(dhddded!i dweded:dddedddded:dddeddd}ed%dhddedddded:dddedRd%ddedQdedd%ddeddedd%dded%ddedd%dded:ddhdded:ddded:dddedRd+dhddedddhddedSddddd(dhdded(ddedd+ddeddded:dddeddded:ddhddedpdhdded'dhdded'dhdded:ddded:ddded:ddded!i dwededd%ddedЃded:dddedd+ddedd%dded:ddhdded:ddhdded:dddedddhddeddddedddeeded[d'dhdded+dded+ddeededddded:dddedd'dded4d+ddeddddedddhddeddhdded:ddhdde deeded%ddedd'dZdd Zdd ZdTe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'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   L/home/ubuntu/webapp/venv/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_retriesd   channel_error_retryFfailover_strategy	heartbeatx   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gcs)ry   projectrz   ttl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enable_prefetch_count_reduction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>f  s    z_to_compat.<locals>.<listcomp>)r   r-  r+  r   r/  r   
_to_compatd  s
   r1  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	   m  s   
r	   c                 C   s   i | ]\}}||j qS r   r+   )r   r   r   r   r   r   
<dictcomp>y  s    r;  )r8  c                 C   s   i | ]	\}}}||j qS r   r:  )r   old_keyr2  r   r   r   r   r;  }  s    c                 C   s   i | ]\}}}||qS r   r   r   r<  new_keyr2  r   r   r   r;  ~      c                 C   s   i | ]\}}}||qS r   r   r=  r   r   r   r;    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   rJ  )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   r4  r)   DEFAULTS)rI  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,  r1  r	   rN  rA   __compat_OLD_DEFAULTS_TO_OLD_KEY_TO_NEW_KEYr>   keysSETTING_KEYS_OLD_SETTING_KEYSrJ  r
   r   r   r   r   <module>   s|   





	





)
/
<D






M

S


X
]
af




m


v



 

	
   
  (
  1
  <
	


 !
"#
$%(),/01  o	



"%()
*+    	
