HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //usr/local/lib/python3.9/site-packages/celery/contrib/testing/__pycache__/worker.cpython-39.pyc
a

X>h1�@s`dZddlZddlZddlZddlmZddlmZmZm	Z	m
Z
ddlZddlm
Z
mZddlmZmZddlmZddlmZej�d	d
�Zedid�Zed
ddhd�Zeddhd�ZGdd�dej�Zeddeddddfdd��Zeddededdfe
ee e
e efe	e ee!e"eejd�	dd��Z#eddedfdd��Z$e
e
e efe dd�dd �Z%dS)!z'Embedded workers for integration tests.�N)�contextmanager)�Any�Iterable�Optional�Union)�Celery�worker)�_set_task_join_will_block�allow_join_result)�Signal)�
anon_nodename�WORKER_LOGLEVEL�error�test_worker_starting)�nameZproviding_args�test_worker_startedr�consumer�test_worker_stoppedcsXeZdZdZdZdZ�fdd�ZGdd�dejj	�Z	�fdd	�Z
d
d�Zdd
�Z�Z
S)�TestWorkControllerz3Worker that can synchronize on being fully started.FNcs�t��|_t�j|i|��|jj�d�ddkr�ddlm	}|�|_
t��|_
zddlm}|��WntyzYn0tj�|j
t���|_|j��dS)N�.���Zpreforkr)�Queue)�pickling_support)�	threading�Event�_on_started�super�__init__�pool_cls�
__module__�splitZbilliardr�logger_queue�os�getpid�pidZtblibr�install�ImportError�logging�handlers�
QueueListener�	getLoggerZqueue_listener�start)�self�args�kwargsrr��	__class__��G/usr/local/lib/python3.9/site-packages/celery/contrib/testing/worker.pyr's

zTestWorkController.__init__c@seZdZdd�Zdd�ZdS)zTestWorkController.QueueHandlercCs
d|_|S)NT)�
from_queue�r,�recordr1r1r2�prepare>sz'TestWorkController.QueueHandler.preparecCstjr�dS)N)r'�raiseExceptionsr4r1r1r2�handleErrorCsz+TestWorkController.QueueHandler.handleErrorN)�__name__r�__qualname__r6r8r1r1r1r2�QueueHandler=sr;cs@�jr6���j�}|��fdd��t��}|�|�t���S)Ncs|j�jkot|dd�S)Nr3F)�processr$�getattr)�r�r,r1r2�<lambda>J�z*TestWorkController.start.<locals>.<lambda>)r!r;�	addFilterr'r*�
addHandlerrr+)r,�handler�loggerr/r?r2r+Gs
zTestWorkController.startcCs |j��tj|j||d�dS)z=Callback called when the Consumer blueprint is fully started.)�senderrrN)r�setr�send�app)r,rr1r1r2�on_consumer_readyOs
�z$TestWorkController.on_consumer_readycCs|j��dS)z�Wait for worker to be fully up and running.

        Warning:
            Worker must be started within a thread for this to work,
            or it will block forever.
        N)r�waitr?r1r1r2�ensure_startedVsz!TestWorkController.ensure_started)r9rr:�__doc__Z__test__r!rr'r(r;r+rJrL�
__classcell__r1r1r/r2rs
r�ZsoloTg$@c
ks�tj|d�d}	z�t|f||||||d�|���d}	|r�ddlm}
t��(|
��j|d�dksbJ�Wd�n1sv0Y|	VWd�n1s�0YWtj||	d�ntj||	d�0dS)	z[Start embedded worker.

    Yields:
        celery.app.worker.Worker: worker instance.
    )rFN)�concurrency�pool�loglevel�logfile�perform_ping_check�shutdown_timeoutrO)�ping)�timeoutZpong)rFr)	rrH�_start_worker_thread�tasksrVr
�delay�getr)rIrPrQrRrSrTZping_task_timeoutrUr.rrVr1r1r2�start_workeras(��6&r\)	rIrPrQrRrS�WorkControllerrTrU�returnc

ks0t|||�|rd|jvsJ�|jtj�d�d��}	|	jjWd�n1sP0Y|f|||�dt	��|||d|�dd�ddd�
|��}
t
j|
jdd	�}|��|
�
�td
�z<|
VWddlm}d|_|�|�|��r�td
��d|_n6ddlm}d|_|�|�|���r$td
��d|_0dS)zaStart Celery worker in a thread.

    Yields:
        celery.worker.Worker: worker instance.
    zcelery.pingZTEST_BROKER)�hostnameNr_�without_heartbeatT)
rIrPr_rQrRrSZready_callbackr`Zwithout_mingleZwithout_gossip)�target�daemonFr)�statez�Worker thread failed to exit within the allocated timeout. Consider raising `shutdown_timeout` if your tasks take longer to execute.)�setup_app_for_workerrY�
connectionr"�environr[Zdefault_channelZ
queue_declare�poprr�Threadr+rLr	Z
celery.workerrcZshould_terminate�join�is_alive�RuntimeError)
rIrPrQrRrSr]rTrUr.�connr�trcr1r1r2rX�sR&
��
��

�rXc	ksPddlm}m}|��||d�g�}|��zdVW|��n
|��0dS)zfStart worker in separate process.

    Yields:
        celery.app.worker.Worker: worker instance.
    r)�Cluster�Nodeztestworker1@%hN)Zcelery.apps.multirnro�set_currentr+Zstopwait)	rIrPrQrRrSr.rnroZclusterr1r1r2�_start_worker_process�s
rq)rIrRrSr^cCs8|��|��|��dt|j�_|jj||d�dS)z9Setup the app to be used for starting an embedded worker.F)rRrSN)�finalizerp�set_default�type�log�_setup�setup)rIrRrSr1r1r2rd�s
rd)&rMr'r"r�
contextlibr�typingrrrrZcelery.worker.consumerZceleryrrZ
celery.resultr	r
Zcelery.utils.dispatchrZcelery.utils.nodenamesrrfr[r
rrrr]rr\�int�str�bool�floatrXrqrdr1r1r1r2�<module>st���C�'�
�7�