HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/flower/__pycache__/app.cpython-310.pyc
o

/we�
�@s�ddlZddlZddlmZddlZddlZddlmZddlm	Z	ddlm
Z
ddlmZ
ddlmZdd	lmZdd
lmZe�e�Zejddkrdejddkrdej�d
�rdddlZe�e���dd�ZGdd�dejj�Z dS)�N)�ThreadPoolExecutor)�ioloop)�
HTTPServer)�url���handlers)�Events)�	Inspector)�default_options���wincCsNt|t�rtd�|�d�|jj�|j|j|j�Sd�|�d�|d�|dfS)Nz/{}{}�/rr)	�
isinstancer�format�strip�regex�pattern�
handler_class�kwargs�name)�handler�
url_prefix�r�C/home/arjun/projects/env/lib/python3.10/site-packages/flower/app.py�rewrite_handlers

�rcs\eZdZeZdZ		d�fdd�	Zdd�Zdd�Ze	dd	��Z
e	d
d��Zddd
�Z�Z
S)�FlowerNc
st}�dur�jr�fdd�|D�}|j|d�t�jd	i|���p$t|_|p,tj�	�|_
|�dd�|_|p:t
��|_|jj��|j|jd�|_|j
�|j�t|j
|j|jjd�|_|pyt|j|jj|jj|jj|jj|j
|jj|jjd�|_d|_ dS)
Ncsg|]}t|�j��qSr)rr)�.0�h��optionsrr�
<listcomp>*sz#Flower.__init__.<locals>.<listcomp>r�ssl_options)�max_workersg@�@)�db�
persistent�state_save_interval�
enable_events�io_loop�max_workers_in_memory�max_tasks_in_memoryFr)!�default_handlersr�update�super�__init__rr!r�IOLoop�instancer)�getr#�celery�Celery�capp�loader�import_default_modules�pool_executor_clsr$�executor�set_default_executorr
�inspect_timeout�	inspectorr	r%r&r'r(�	max_tasks�events�started)�selfr!r5r>r)rr��	__class__r rr/&s0
�
	zFlower.__init__cCs~|j��|jjs|j|jj|jj|j|jjd�nddl	m
}t|�}||jjdd�}|�|�d|_
|��|j��dS)N)�addressr#�xheadersr)�bind_unix_socketi�)�modeT)r>�startr!�unix_socket�listen�portrCr#rD�tornado.netutilrEr�
add_socketr?�update_workersr))r@rE�server�socketrrrrGDs
�
zFlower.startcCsJ|jr#|j��t�d�|jjdd�t�d�|j��d|_dSdS)NzStopping executors...F)�waitzStopping event loop...)r?r>�stop�logging�debugr9�shutdownr)�r@rrrrQUs




�zFlower.stopcCst|j��jdd�S)N�driver_type)�getattrr5�
connection�	transportrUrrrrY^szFlower.transportcCs|jjS�N)r<�workersrUrrrr[bszFlower.workerscCs|j�|�SrZ)r<�inspect)r@�
workernamerrrrMfszFlower.update_workers)NNNNrZ)�__name__�
__module__�__qualname__rr8r$r/rGrQ�propertyrYr[rM�
__classcell__rrrArr"s�	

r)!�sysrR�concurrent.futuresrr3�tornado.web�tornador�tornado.httpserverrr�urlsrr,r>r	r<r
r!r�	getLoggerr^�logger�version_info�platform�
startswith�asyncio�set_event_loop_policy�WindowsSelectorEventLoopPolicyr�web�Applicationrrrrr�<module>s$
(