Yohohohohohooho | Sanrei Aya
Sanrei Aya


Server : LiteSpeed
System : Linux barito.iixcp.rumahweb.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
User : elvh3918 ( 1528)
PHP Version : 8.2.31
Disable Function : mail
Directory :  /usr/local/lib/python3.9/site-packages/celery/backends/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/local/lib/python3.9/site-packages/celery/backends/__pycache__/rpc.cpython-39.pyc
a

��Sh-/�@s�dZddlZddlZddlmZddlmZddlmZddl	m
Z
ddlmZm
Z
dd	lmZdd
lmZmZdZdZGd
d�de�Zdd�ZGdd�de�ZGdd�deje�ZdS)zqThe ``RPC`` result backend for AMQP brokers.

RPC-style result backend, using reply-to and one queue per client.
�N)�
maybe_declare)�register_after_fork)�cached_property)�states)�current_task�task_join_will_block�)�base)�AsyncBackendMixin�BaseResultConsumer)�BacklogLimitExceeded�
RPCBackendz�
The "rpc" result backend does not support chords!

Note that a group chained with a task is also upgraded to be a chord,
as this pattern requires synchronization.

Result backends that supports chords: Redis, Database, Memcached, and more.
c@seZdZdZdS)rz'Too much state history to fast-forward.N)�__name__�
__module__�__qualname__�__doc__�rr�=/usr/local/lib/python3.9/site-packages/celery/backends/rpc.pyrsrcCs|��dS�N)�_after_fork)�backendrrr�_on_after_fork_cleanup_backend"srcs^eZdZejZdZdZ�fdd�Zddd�Zddd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
�ZS)�ResultConsumerNcs t�j|i|��|jj|_dSr)�super�__init__r�_create_binding��self�args�kwargs��	__class__rrr,szResultConsumer.__init__TcKsF|j��|_|�|�}|j|jj|g|jg||jd�|_|j�	�dS)N)�	callbacks�no_ack�accept)
�app�
connection�_connectionr�ConsumerZdefault_channelZon_state_changer$�	_consumer�consume)rZinitial_task_idr#rZ
initial_queuerrr�start0s

�zResultConsumer.startcCs&|jr|jj|d�S|r"t�|�dS)N)�timeout)r'�drain_events�time�sleep)rr,rrrr-9szResultConsumer.drain_eventscCs*z|j��W|j��n|j��0dSr)r)�cancelr'�close�rrrr�stop?szResultConsumer.stopcCs$d|_|jdur |j��d|_dSr)r)r'Zcollectr2rrr�
on_after_forkEs

zResultConsumer.on_after_forkcCsD|jdur|�|�S|�|�}|j�|�s@|j�|�|j��dSr)r)r+rZconsuming_fromZ	add_queuer*)r�task_id�queuerrr�consume_fromKs


zResultConsumer.consume_fromcCs|jr|j�|�|�j�dSr)r)Zcancel_by_queuer�name�rr5rrr�
cancel_forSszResultConsumer.cancel_for)T)N)rrr�kombur(r'r)rr+r-r3r4r7r:�
__classcell__rrr rr&s
	
rcsZeZdZdZejZejZeZeZdZ	dZ
dZddddd�ZGdd	�d	ej
�Z
Gd
d�dej�ZdE�fd
d�	Zdd�ZdFdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �ZdGd!d"�ZdHd#d$�Zd%d&�Zd'd(�ZdId*d+�ZeZd,d-�ZdJd.d/�Zd0d1�Z d2d3�Z!d4d5�Z"d6d7�Z#d8d9�Z$dKd:d;�Z%d<d=�Z&dL�fd?d@�	Z'e(dAdB��Z)e*dCdD��Z+�Z,S)Mr
z&Base class for the RPC result backend.FT�rr)�max_retriesZinterval_startZ
interval_stepZinterval_maxc@seZdZdZdZdS)zRPCBackend.Consumerz4Consumer that requires manual declaration of queues.FN)rrrrZauto_declarerrrrr(msr(c@seZdZdZdZdS)zRPCBackend.Queuez$Queue that never caches declaration.FN)rrrrZcan_cache_declarationrrrr�Queuersr?Nc
s�t�j|fi|��|jj}	||_i|_|�|�|_|jr>dnd|_|pL|	j	}|pV|	j
}|�|||j�|_|pr|	j
|_||_|�||j|j|j|j�|_tdur�t|t�dS)N�r)rrr%�confr'�_out_of_bandZprepare_persistent�
persistent�
delivery_modeZresult_exchangeZresult_exchange_type�_create_exchange�exchangeZresult_serializer�
serializer�auto_deleterr$�_pending_resultsZ_pending_messages�result_consumerrr)
rr%r&rF�
exchange_typerCrGrHrrAr rrrws&

�
�zRPCBackend.__init__cCs|j��|j��dSr)rI�clearrJrr2rrrr�s
zRPCBackend._after_fork�directr@cCs
|�d�Sr)�Exchange)rr8�typerDrrrrE�szRPCBackend._create_exchangecCs|jS)z$Create new binding for task with id.)�bindingr9rrrr�szRPCBackend._create_bindingcCstt����dSr)�NotImplementedError�E_NO_CHORD_SUPPORT�stripr2rrr�ensure_chords_allowed�sz RPCBackend.ensure_chords_allowedcCst�st|�|j�dd�dS)NT)�retry)rrrP�channel)r�producerr5rrr�on_task_call�szRPCBackend.on_task_callcCs@z|p
tj}Wn ty.td|����Yn0|j|jp<|fS)z�Get the destination for result by task id.

        Returns:
            Tuple[str, str]: tuple of ``(reply_to, correlation_id)``.
        z%RPC backend missing task request for )r�request�AttributeError�RuntimeErrorZreply_to�correlation_id)rr5rYrrr�destination_for�s�
zRPCBackend.destination_forcCsdSrrr9rrr�on_reply_declare�szRPCBackend.on_reply_declarecCsdSrr)r�resultrrr�on_result_fulfilled�szRPCBackend.on_result_fulfilledcCsdS)Nzrpc://r)rZinclude_passwordrrr�as_uri�szRPCBackend.as_uric
Ks�|�||�\}}|sdS|jjjjdd��H}	|	j|�|||||�|j|||jd|j	|�
|�|jd�	Wd�n1sx0Y|S)z!Send task return value and state.NT��block)rF�routing_keyr\rGrU�retry_policy�declarerD)r]r%ZamqpZ
producer_pool�acquire�publish�
_to_resultrFrGrer^rD)
rr5r_�state�	tracebackrYrrdr\rWrrr�store_result�s�$
zRPCBackend.store_resultcCs|||�||�||�|�d�S)N)r5�statusr_rk�children)Z
encode_resultZcurrent_task_children)rr5rjr_rkrYrrrri�s
�zRPCBackend._to_resultcCs |jr|j�|�||j|<dSr)rJ�on_out_of_band_resultrB)rr5�messagerrrro�sz RPCBackend.on_out_of_band_result��c
Cs�|j�|d�}|r|�||�Si}d}|�||j|�D]2}|�|�}|�|�|}||<|r6|��d}q6|�|d�}|��D]\}}	|�	||	�q~|r�|�
�|�||�Sz|j|WSty�t
jdd�YS0dS)N)rmr_)rB�pop�_set_cache_by_message�_slurp_from_queuer$�_get_message_task_id�getZack�itemsroZrequeue�_cache�KeyErrorr�PENDING)
rr5Z
backlog_limitZbufferedZlatest_by_id�prev�acc�tidZlatest�msgrrr�
get_task_meta�s*
zRPCBackend.get_task_metacCs|�|j�}|j|<|Sr)Zmeta_from_decoded�payloadrx)rr5rpr�rrrrs	s�z RPCBackend._set_cache_by_messagec	cs�|jjjdd��^\}}|�|�|�}|��t|�D] }|j||d�}|sNq`|Vq4|�|��Wd�n1st0YdS)NTrb)r$r#)r%�poolZacquire_channelrrf�rangervr)	rr5r$�limitr#�_rVrPr~rrrrtszRPCBackend._slurp_from_queuec	Cs2z|jdWSttfy,|jdYS0dS)Nr\r5)Z
propertiesrZryr�)rrprrrruszRPCBackend._get_message_task_idcCsdSrr)rrVrrr�revive%szRPCBackend.revivecCstd��dS)Nz4reload_task_result is not supported by this backend.�rQr9rrr�reload_task_result(s�zRPCBackend.reload_task_resultcCstd��dS)z<Reload group result, even if it has been previously fetched.z5reload_group_result is not supported by this backend.Nr�r9rrr�reload_group_result,s�zRPCBackend.reload_group_resultcCstd��dS)Nz,save_group is not supported by this backend.r�)r�group_idr_rrr�
save_group1s�zRPCBackend.save_groupcCstd��dS)Nz/restore_group is not supported by this backend.r�)rr��cacherrr�
restore_group5s�zRPCBackend.restore_groupcCstd��dS)Nz.delete_group is not supported by this backend.r�)rr�rrr�delete_group9s�zRPCBackend.delete_grouprc
s@|sin|}t��|t||j|jj|jj|j|j|j	|j
d��S)N)r&rFrKrCrGrH�expires)r�
__reduce__�dictr'rFr8rOrCrGrHr�rr rrr�=s
�zRPCBackend.__reduce__cCs|j|j|j|jdd|jd�S)NFT)ZdurablerHr�)r?�oidrFr�r2rrrrPJs�zRPCBackend.bindingcCs|jjSr)r%Z
thread_oidr2rrrr�SszRPCBackend.oid)NNNNNT)rMr@)T)NN)rq)rqF)T)rN)-rrrrr;rNZProducerrrrCZsupports_autoexpireZsupports_native_joinrer(r?rrrErrTrXr]r^r`rarlriror�pollrsrtrur�r�r�r�r�r�r��propertyrPrr�r<rrr rr
Xs`��

�
		
�
	


r
)rr.r;Zkombu.commonrZkombu.utils.compatrZkombu.utils.objectsrZceleryrZ
celery._staterr�r	Zasynchronousr
r�__all__rR�	ExceptionrrrZBackendr
rrrr�<module>s
2

Yohohohohohooho | Sanrei Aya