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__/asynchronous.cpython-39.pyc
a

��ShE(�@sdZddlZddlZddlZddlmZddlmZddlmZddl	m
Z
ddlmZddl
mZdd	lmZdd
lmZdZiZdd
�Zed�Gdd�d��ZGdd�de�Zed�Gdd�de��Zed�Gdd�de��ZGdd�d�ZGdd�d�ZdS)z$Async I/O backend support utilities.�N)�deque)�Empty)�sleep)�WeakKeyDictionary)�detect_environment)�states)�TimeoutError)�THREAD_TIMEOUT_MAX)�AsyncBackendMixin�BaseResultConsumer�Drainer�register_drainercs�fdd�}|S)z5Decorator used to register a new result drainer type.cs|t�<|S�N)�drainers)�cls��name��F/usr/local/lib/python3.9/site-packages/celery/backends/asynchronous.py�_innersz register_drainer.<locals>._innerr)rrrrrr
sr
�defaultc@s<eZdZdZdd�Zdd�Zdd�Zdd
d�Zddd
�ZdS)rzResult draining service.cCs
||_dSr)�result_consumer)�selfrrrr�__init__$szDrainer.__init__cCsdSrr�rrrr�start'sz
Drainer.startcCsdSrrrrrr�stop*szDrainer.stopN�ccst|p
|jj}t��}|r0t��||kr0t���z|j|||d�VWntjyZYn0|rf|�|jrqpqdS�N��timeout)r�drain_events�time�	monotonic�socketr �wait_for�ready)r�pr �interval�on_interval�waitZ
time_startrrr�drain_events_until-szDrainer.drain_events_untilcCs||d�dSrr�rr'r*r rrrr%>szDrainer.wait_for)NrNN)N)	�__name__�
__module__�__qualname__�__doc__rrrr+r%rrrrr s
rcsZeZdZdZdZdZdd�Zdd�Z�fdd�Zdd	�Z	d
d�Z
dd
�Zddd�Z�Z
S)�greenletDrainerNcCsdS)z,create new self._drain_complete_event objectNrrrrr�_create_drain_complete_eventGsz,greenletDrainer._create_drain_complete_eventcCsdS)z5raise self._drain_complete_event for wakeup .wait_forNrrrrr�_send_drain_complete_eventKsz*greenletDrainer._send_drain_complete_eventcs<t�j|i|��t��|_t��|_t��|_|��dSr)�superr�	threading�Event�_started�_stopped�	_shutdownr2)r�args�kwargs��	__class__rrrOs



zgreenletDrainer.__init__cCs\|j��|j��sNz"|jjdd�|��|��Wq
tj	yJYq
0q
|j
��dS)Nrr)r7�setr8�is_setrr!r3r2r$r r9rrrr�runVs

zgreenletDrainer.runcCs&|j��s"|�|j�|_|j��dSr)r7r?�spawnr@�_gr*rrrrras
zgreenletDrainer.startcCs"|j��|��|j�t�dSr)r8r>r3r9r*r	rrrrrfs
zgreenletDrainer.stopcCs |��|js|jj|d�dSr)rr&�_drain_complete_eventr*r,rrrr%kszgreenletDrainer.wait_for)N)r-r.r/rArBrCr2r3rr@rrr%�
__classcell__rrr<rr1Bsr1�eventletc@s$eZdZdd�Zdd�Zdd�ZdS)�eventletDrainercCs$ddlm}m}||�}|d�|S)Nr)rrA)rErrA)r�funcrrA�grrrrAtszeventletDrainer.spawncCsddlm}|�|_dS�Nr)r6)Zeventlet.eventr6rC�rr6rrrr2zsz,eventletDrainer._create_drain_complete_eventcCs|j��dSr)rC�sendrrrrr3~sz*eventletDrainer._send_drain_complete_eventN�r-r.r/rAr2r3rrrrrFqsrF�geventc@s$eZdZdd�Zdd�Zdd�ZdS)�
geventDrainercCs ddl}|�|�}|�d�|S)Nr)rMrAr)rrGrMrHrrrrA�s

zgeventDrainer.spawncCsddlm}|�|_dSrI)Zgevent.eventr6rCrJrrrr2�sz*geventDrainer._create_drain_complete_eventcCs|j��|��dSr)rCr>r2rrrrr3�s
z(geventDrainer._send_drain_complete_eventNrLrrrrrN�srNc@s�eZdZdZdd�Zddd�Zddd	�Zd
d�Zddd
�Zd dd�Z	dd�Z
dd�Zdd�Zd!dd�Z
d"dd�Zedd��ZdS)#r
z.Mixin for backends that enables the async API.cCs||jj|<dSr)r�buckets)r�result�bucketrrr�
_collect_into�szAsyncBackendMixin._collect_intoTcks�|��|j}|st��t�}|D]8}t|d�s<|�|�q"|jrN|�|�q"|�||�q"|j|fd|i|��D]:}|rr|�	�}t|d�s�|j
|jfVqv|j
|jfVqvqr|r�|�	�}|j
|jfVq�dS)N�_cache�no_ack)�_ensure_not_eager�results�
StopIterationr�hasattr�appendrSrR�_wait_for_pending�popleft�id�children)rrPrTr;rVrQ�node�_rrr�iter_native�s(

zAsyncBackendMixin.iter_nativeFcCsH|r|jj��z|�|�Wn$tyB|j|j||d�Yn0|S)N)�weak)r�drainerr�_maybe_resolve_from_bufferr�_add_pending_resultr\)rrPra�
start_drainerrrr�add_pending_result�sz$AsyncBackendMixin.add_pending_resultcCs|�|j�|j��dSr)�_maybe_set_cache�_pending_messagesZtaker\�rrPrrrrc�sz,AsyncBackendMixin._maybe_resolve_from_buffercCs<|j\}}||vr8|j|vr8||r&|n||<|j�|�dSr)�_pending_resultsr\r�consume_from)r�task_idrPraZconcreteZweak_rrrrd�s
z%AsyncBackendMixin._add_pending_resultcs �jj����fdd�|D�S)Ncsg|]}�j|�dd��qS)F)rare)rf)�.0rP�rrarr�
<listcomp>�s�z9AsyncBackendMixin.add_pending_results.<locals>.<listcomp>)rrbr)rrVrarrnr�add_pending_results�s�z%AsyncBackendMixin.add_pending_resultscCs|�|j�|�|�|Sr)�_remove_pending_resultr\�on_result_fulfilledrirrr�remove_pending_result�s
z'AsyncBackendMixin.remove_pending_resultcCs|jD]}|�|d�qdSr)rj�pop�rrl�mappingrrrrq�s
z(AsyncBackendMixin._remove_pending_resultcCs|j�|j�dSr)r�
cancel_forr\rirrrrr�sz%AsyncBackendMixin.on_result_fulfilledNcKs.|��|j|fi|��D]}q|j||d�S)N)�callback�	propagate)rUrZZmaybe_throw)rrPrxryr;r_rrr�wait_for_pending�sz"AsyncBackendMixin.wait_for_pendingcKs|jj|f|||d�|��S)N)r r)�
on_message)rrZ)rrPr r)r{r;rrrrZ�s���z#AsyncBackendMixin._wait_for_pendingcCsdS)NTrrrrr�is_async�szAsyncBackendMixin.is_async)T)FT)F)F)NT)NNN)r-r.r/r0rRr`rfrcrdrprsrqrrrzrZ�propertyr|rrrrr
�s 

	

�
�
	r
c@s�eZdZdZdd�Zdd�Zdd�Zdd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zd dd�Zd!dd�Z
d"dd�Zdd�Zdd�Zdd�ZdS)#rz2Manager responsible for consuming result messages.cCs@||_||_||_||_||_d|_t�|_tt	�|�|_
dSr)�backend�app�acceptrjrhr{rrOrrrb)rr~rr�Zpending_resultsZpending_messagesrrrr�szBaseResultConsumer.__init__cKs
t��dSr��NotImplementedError)rZinitial_task_idr;rrrr�szBaseResultConsumer.startcCsdSrrrrrrrszBaseResultConsumer.stopNcCs
t��dSrr�)rr rrrr!szBaseResultConsumer.drain_eventscCs
t��dSrr��rrlrrrrkszBaseResultConsumer.consume_fromcCs
t��dSrr�r�rrrrw	szBaseResultConsumer.cancel_forcCs$|j��t�|_d|_|��dSr)rO�clearrr{�
on_after_forkrrrr�_after_forks
zBaseResultConsumer._after_forkcCsdSrrrrrrr�sz BaseResultConsumer.on_after_forkcCs|jj|||d�S)N�r r))rbr+)rr'r r)rrrr+s�z%BaseResultConsumer.drain_events_untilcks�|j|fd|i|��|j|}|_zRz*|j|j||d�D]}dVtd�q:Wntjyltd��Yn0W||_n||_0dS)Nr r�rzThe operation timed out.)�on_wait_for_pendingr{r+Zon_readyrr$r r)rrPr r)r{r;Z	prev_on_mr_rrrrZs�
z$BaseResultConsumer._wait_for_pendingcKsdSrr)rrPr r;rrrr�)sz&BaseResultConsumer.on_wait_for_pendingcCs|�|j|�dSr)�on_state_change�payload)r�messagerrr�on_out_of_band_result,sz(BaseResultConsumer.on_out_of_band_resultc	Cs:|jD]&}z||WSty*Yq0qt|��dSr)rj�KeyErrorrurrr�_get_pending_result/s
z&BaseResultConsumer._get_pending_resultcCs�|jr|�|�|dtjvr�|d}z|�|�}Wn tyT|j�||�Yn>0|�|�|j}z|�	|�}Wnty�Yn0|�
|�td�dS)N�statusrlr)r{rZREADY_STATESr�r�rh�putrgrOrtrYr)r�metar�rlrPrOrQrrrr�7s 


z"BaseResultConsumer.on_state_change)N)NN)NNN)N)r-r.r/r0rrrr!rkrwr�r�r+rZr�r�r�r�rrrrr�s 

�

r)r0r$r5r"�collectionsr�queuerr�weakrefrZkombu.utils.compatrZceleryrZcelery.exceptionsrZcelery.utils.threadsr	�__all__rr
rr1rFrNr
rrrrr�<module>s.!/[

Yohohohohohooho | Sanrei Aya