|
Server : Apache System : Linux cvar2.toservers.com 3.10.0-962.3.2.lve1.5.73.el7.x86_64 #1 SMP Wed Aug 24 21:31:23 UTC 2022 x86_64 User : njnconst ( 1116) PHP Version : 8.4.18 Disable Function : NONE Directory : /opt/alt/python37/lib/python3.7/site-packages/clwpos/__pycache__/ |
Upload File : |
B
A�c)i � @ sx d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl m
Z
mZmZm
Z
d dlmZ d dlmZ d dlmZmZ d dlmZ d dlmZ d dlmZmZmZmZ d d lm Z m!Z!m"Z"m#Z# d dl$m%Z% d d
l&m'Z' d dl(m)Z) d dl*m+Z+ ed
dddg�Z,edd� �Z-ejd�dd�Z.eed�dd��Z/d e0e
ee0e0f d�dd�Z1G dd� de'�Z2dd� Z3dS )!� N)�Optional�Dict�Tuple�List)�contextmanager)�
namedtuple)�Lock�Thread)�gettext)�cpusers)�get_process_pid�remove_pid_file�write_pid_file�is_litespeed_running)�is_user_redis_alive�kill_all_users_redises�reload_redis_for_user_thread�
parse_redises)�WposDaemonBase)�WPOS_DAEMON_SOCKET_FILE)�WposDaemonLockError� User_data� redis_pid�lock�last_reload_timec c s t �d�} dV t �| � dS )z,
Context manager for dropping umask
r N)�os�umask)�prev� r �>/opt/alt/python37/lib/python3.7/site-packages/clwpos/daemon.py�_umask_0( s
r )�returnc C s4 t � �$ t�tj�} | �t� | �� | S Q R X dS )zr
Create world-writable socket in given sock_location
or reuse existing one
:return: socket object
N)r �socketZAF_UNIXZbindr Zlisten)Zsockobjr r r �_create_socket2 s
r# )r c c s4 | j dd�sttd�d��z
| V W d| �� X dS )z=
Non-blocking lock implementation for with statement
F)Zblockingz/Can't acquire lock. May be it already acquired.)�messageN)�acquirer �_�release)r r r r �non_blocking_lock? s
r( )�function�input_parametersc C sF |rdd� |� � D �ng }tjdd| f|�dd�}t�|j�� �d S )Nc S s g | ]\}}|� d |� ��qS )�=r )�.0�key�valuer r r �
<listcomp>M s zwhmapi1.<locals>.<listcomp>z/usr/sbin/whmapi1z
--output=jsonT)Zcapture_output�data)�items�
subprocess�run�json�loads�stdout�decode)r) r* Zinput_parameters_as_list�resultr r r �whmapi1L s r9 c s~ e Zd ZdZdZdZdZdZdZdZ eeeee gZ
egZdZd Z
� fd
d�Zeeed�d
d�Zeed�dd�Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd@ed!�d"d#�Zeed$�d%d&��Zeje eee!e" e!e ef d'�d(d)�Z#eje"ed*�d+d,�Z$eed-�d.d/�Z%eje"eed0�d1d2�Z&ejd3�d4d5�Z'eje"d6�d7d8�Z(ejd3�d9d:�Z)ejd;d'�d<d=�Z*d>d?� Z+� Z,S )A�
WposDaemonzW
AccelerateWP daemon main class. Socket operations, redis process control, etc
z/var/lve/wpos_reload�reloadzget-redis-statuszget-litespeed-statusZphp_get_vhost_versionsZphp_get_installed_versions� � c s2 t � �� i | _g | _d | _d| _d | _d| _d S )Nr T)�super�__init__�_monitoring_users_dictZ_username_list_to_process�_socketZ_reload_uid�_socket_thread�_socket_thread_work)�self)� __class__r r r? k s
zWposDaemon.__init__)�user_uid�is_store_last_reload_timer! c
C s� y�| j �|�}|dkrd}n|j}t�|�j}t| j||�\}}|d dkrP|S |r�| jr^|sdd}nt � � }t
|t� |d�| j |<