Uname : Linux premium36.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Soft : LiteSpeed
Ip : 198.54.115.237
Port : 443
~
/
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
sqlalchemy
/
util
/
__pycache__
[ HOME ]
Exec
Submit
queue.cpython-311.pyc
� � h� � � � d Z ddlmZ ddlmZ ddlmZ g d�Z G d� de� � Z G d � d e� � Z G d� d� � Zd S )a� An adaptation of Py2.3/2.4's Queue module which supports reentrant behavior, using RLock instead of Lock for its mutex object. The Queue object is used exclusively by the sqlalchemy.pool.QueuePool class. This is to support the connection pool's usage of weakref callbacks to return connections to the underlying Queue, which can in extremely rare cases be invoked within the ``get()`` method of the Queue itself, producing a ``put()`` inside the ``get()`` and therefore a reentrant condition. � )�deque)�time� )� threading)�Empty�Full�Queuec � � e Zd ZdZdS )r z4Exception raised by Queue.get(block=0)/get_nowait().N��__name__� __module__�__qualname__�__doc__� � �L/opt/cloudlinux/venv/lib64/python3.11/site-packages/sqlalchemy/util/queue.pyr r � � � � � � �:�:��Dr r c � � e Zd ZdZdS )r z4Exception raised by Queue.put(block=0)/put_nowait().Nr r r r r r $ r r r c �h � e Zd Zdd�Zd� Zd� Zd� Zdd �Zd � Zdd�Z d� Z d � Zd� Zd� Z d� Zd� Zd� ZdS )r r Fc �� � | � |� � t j � � | _ t j | j � � | _ t j | j � � | _ || _ dS )z�Initialize a queue object with a given maximum size. If `maxsize` is <= 0, the queue size is infinite. If `use_lifo` is True, this Queue acts like a Stack (LIFO). N)�_initr �RLock�mutex� Condition� not_empty�not_full�use_lifo)�self�maxsizer s r �__init__zQueue.__init__+ s^ � � � � �7���� �_�&�&�� � #�,�T�Z�8�8��� "�+�D�J�7�7�� � �� � � r c � � | j � � � | � � � }| j � � � |S )z9Return the approximate size of the queue (not reliable!).)r �acquire�_qsize�release�r �ns r �qsizezQueue.qsizeB s>