| Server IP : 172.67.201.108 / Your IP : 216.73.216.55 Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.7 System : Linux ip-172-31-69-123.ec2.internal 6.1.177-224.371.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jul 27 20:28:29 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3.9/site-packages/lockfile/__pycache__/ |
Upload File : |
a
��UV� � @ sp d dl mZmZ d dlZd dlZze W n ey> eZY n0 ddlm Z m
Z
mZmZm
Z
G dd� de �ZdS )� )�absolute_import�divisionN� )�LockBase� NotLocked� NotMyLock�LockTimeout�
AlreadyLockedc @ sP e Zd ZdZdZddd�Zddd�Zdd � Zd
d� Zdd
� Z dd� Z
dd� ZdS )�SQLiteLockFilezDemonstrate SQL-based locking.NTc
C s� t �| |||� t| j�| _t| j�| _tjdu rdddl}|�� \}}t �
|� t �|� ~~|t_ddl}|�
tj�| _| j�� }z|�d� W n |jy� Y n$0 | j�� ddl} | �t jtj� dS )zu
>>> lock = SQLiteLockFile('somefile')
>>> lock = SQLiteLockFile('somefile', threaded=False)
Nr zGcreate table locks( lock_file varchar(32), unique_name varchar(32)))r �__init__�unicode� lock_file�unique_namer
�testdb�tempfileZmkstemp�os�close�unlink�sqlite3Zconnect�
connection�cursor�executeZOperationalError�commit�atexit�register)
�self�pathZthreaded�timeoutr Z_fdr r �cr � r �;/usr/lib/python3.9/site-packages/lockfile/sqlitelockfile.pyr s(
zSQLiteLockFile.__init__c C sD |d ur|n| j }t�� }|d ur2|dkr2||7 }|d u r@d}n|dkrNd}n|d }| j�� }| �� s�|�d| j| jf� | j�� |�d| jf� |� � }t
|�dkr�|�d| jf� | j�� q�d S n(|�d| jf� |� � }t
|�dkr�d S |d u�r4t�� |k�r4|dk�r&td| j ��nt
d | j ��t�|� q`d S )
Nr g�������?�
z;insert into locks (lock_file, unique_name) values (?, ?)z*select * from locks where unique_name = ?r �(delete from locks where unique_name = ?z&Timeout waiting to acquire lock for %sz%s is already locked)r �timer r � is_lockedr r
r r �fetchall�lenr r r �sleep)r r Zend_time�waitr �rowsr r r �acquire5 sL
�
���
�zSQLiteLockFile.acquirec C s\ | � � std| j ��| �� s4td| j| �� f ��| j�� }|� d| jf� | j�
� d S )Nz%s is not lockedz#%s is locked, but not by me (by %s)r"