Edit File: wmt-api.cpython-311.pyc
� �Ie � � � d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dl m Z m Z d dlmZm Z mZ d dlmZmZ d dlmZ d dlmZ d dlmZmZ d d lmZ d d lmZ d dlmZ dd �Zd� Z d� Z!d� Z"d� Z#d� Z$d� Z%e&dk r e%� � dS dS )� N)�ArgumentParser)�datetime� timedelta)�WMT_SCANNER_SERVICE_SOLO� WMT_LOCK_FILE�CONFIG_PATH)�generate_report�report_dict)�setup_database)�set_service_state)�Notifier�SupportedNotificationTypes)�cfg)�CloudlinuxLicenseLib)�send_report_to_clickhouse�successc �� � | t j � � d�}|� |� � t t j |dd�� � � � t j |� � d S )N)�result� timestamp� T)�indent� sort_keys)�time�update�print�json�dumps�sys�exit)r � exit_code�extra�messages ��/builddir/build/BUILDROOT/cl-web-monitoring-tool-2.1.4-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/wmt/wmt-api.py�print_result_and_exitr$ ss � ���Y�[�[�� �G� �N�N�5���� �$�*�W��#�%� %� %� &� &� &� �H�Y������ c �d � t j � t � � sdS t t � � 5 } t j | � � � t j t j z � � n# t $ r Y d d d � � dS w xY w d d d � � n# 1 swxY w Y dS )N�stopped�started)�os�path�existsr �open�fcntl�flock�fileno�LOCK_EX�LOCK_NB�OSError)�fs r# � get_statusr4 ) s� � � �7�>�>�-�(�(� ��y� �m� � � �� ��K���� � �E�M�E�M�$A�B�B�B�B��� � � ��� � � � � � � � ���� C�� � � � � � � � � � ���� � � � � �9s4 �B%�>A<�;B%�< B�B%�B�B%�%B)�,B)c �< � t j � t � � sd S t t � � 5 } t | � � � � � � � � }d d d � � n# 1 swxY w Y t j |� � r|nd S �N) r) r* r+ r r, �int�read�strip�psutil� pid_exists)r3 �pids r# �get_scanner_pidr= 5 s� � � �7�>�>�-�(�(� ��� �m� � � $���!�&�&�(�(�.�.�"�"�#�#��$� $� $� $� $� $� $� $� $� $� $���� $� $� $� $��#�C�(�(�2�3�3�d�2s �4A;�;A?�A?c �( � t j � � S r6 )r �to_dict� r% r# � get_configrA = s � ��;�=�=�r% c � � t j | � � }t � � }|�t j |t j � � |S r6 )r �modifyr= r) �kill�signal�SIGUSR1)�new_json_config�config�scanner_pids r# � change_configrJ A s; � � �Z�� (� (�F�!�#�#�K��� ���V�^�,�,�,��Mr% c � � t � � } | � dd�� � | � dt �� � | � dd�� � | � dd�� � | � dd�� � | � d d�� � | � d d�� � | � dd�� � | � � � }|j rqt � � }t j |d<