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%dCdDedEd+ddFed:dddGed%ddHed+ddIed%ddJed%ddKed%ddLeedMe ei d(ddNdOe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dPdQeed%ded%ded%ded%ded%ded%ddRdSeedTd%dedUd+dedUd+dedVd+dedWd%dedXd+ded=d+ddYdZeed%ded%dedWd%dedd'dd[d\eed]d'ded^d'dedTd%dd_d`eedaedd(ddbdceeddedd(ddbdeeedfed(ddbdgeedhd%dedid%dedjd%dedkd+dedld+ddmdneedoedpd'dedqd'dedredsedrd%ddtdueedved(ded+ded%ded+ded%ded%ded+dedwd'dedd'ded:dded:dddxdyed!i dzed{d|ed%dd}ed~d+dhddedddeddeddeeddd'dhddedddded:dddedsdei d(ddedd'dded?d'ddedd+ddeedd'ddedEd+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eddddded!i dzeded:dddedddded:dddeddded%dhddedddded:dddedUd%ddedTdedd%d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dUd+dhddedddhddedVd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dsdhdded'dhdded'dhdded:ddded:ddded:ddded!i dzededd%ddedՃded:dddedd'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dedddZdd Zdd  ZdWe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   U/var/www/html/optinet_system/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"native_delayed_delivery_queue_typequorum)r+   r   
pool_limit
   use_sslhostportuserpasswordvhostcachecelery_cache)r   backendbackend_options	cassandra)	entry_ttlkeyspacerf   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_attemptsr|   rT   read_timeoutgcs)r{   projectr|   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dbre   max_connectionsusernamerh   rf   socket_timeoutsocket_connect_timeoutretry_on_timeoutsocket_keepaliveresultr   celery_resultrl   	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create_tables_at_setup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_queue_typeclassic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soft_shutdown_timeoutg        enable_soft_shutdown_on_idle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_precisiondetect_quorum_queuesc                 C   s   | | |fgS r!   r   r   r   r   r   r   r   _flatten_keysf  s   r4  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>l  s    z_to_compat.<locals>.<listcomp>)r   r5  r3  r   r7  r   
_to_compatj  s
   r9  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	   s  s   
r	   c                 C   s   i | ]\}}||j qS r   r+   )r   r   r   r   r   r   
<dictcomp>  s    rC  )r@  c                 C   s   i | ]	\}}}||j qS r   rB  )r   old_keyr:  r   r   r   r   rC    s    c                 C   s   i | ]\}}}||qS r   r   r   rD  new_keyr:  r   r   r   rC        c                 C   s   i | ]\}}}||qS r   r   rE  r   r   r   rC    rG  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.utilsrH  r	   r   r<   r=   getattrwarnr;   )sourcerH  namer   r   r   r   find_deprecated_settings  s   rR  )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   r<  r)   DEFAULTS)rQ  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   r4  r9  r	   rV  rA   __compat_OLD_DEFAULTS_TO_OLD_KEY_TO_NEW_KEYr>   keysSETTING_KEYS_OLD_SETTING_KEYSrR  r
   r   r   r   r   <module>   s   





	





*
0
=E






N

T


Y
^
bg




n


w



 

	
  !
  )
  2

  >
	


!"
#$
%&)*-012  r	



 !$'*+
,-.   &
	

