$35 GRAYBYTE WORDPRESS FILE MANAGER $11

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/cloudlinux/venv/lib/python3.11/site-packages/clwpos/

HOME
Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/clwpos//daemon_base.py
# coding=utf-8
#
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENCE.TXT
#

# pylint: disable=no-absolute-import

import logging
import os
import signal

from clcommon.utils import get_process_pid

from clwpos.daemon_config import load_config

logger = logging.getLogger(__name__)


class WposDaemonBase:
    """
    AccelerateWP daemon base class. Signals, signal handlers, setup daemon logger, pid file operations
    """
    _PID_FILENAME = "/var/run/clwpos_monitoring.pid"

    def __init__(self):
        self._reload_config_need = False
        self._is_terminate = False
        self._config = load_config()

        logger.info("Cloudlinux AccelerateWP daemon uses monitoring interval: %d seconds",
                    self._config.monitoring_interval)
        if not self._config.enable_reload_rate_limit:
            logger.info("NOTE: Cloudlinux AccelerateWP daemon check reload interval is OFF by config")
        logger.info("NOTE: Cloudlinux AccelerateWP daemon logging level=%s",
                    self._config.logging_level)

    def _setup_signals(self):
        """
        Setup daemon signal handlers
        """
        # Setup SIGHUP signal handler for config reload
        signal.signal(signal.SIGHUP, self._sighup_handler)
        # Setup Ctrl-C signal handler. Used for console debug
        signal.signal(signal.SIGINT, self._sigint_handler)
        # Setup SIGTERM signal. Called when daemon stops
        signal.signal(signal.SIGTERM, self._sigterm_handler)

    def run(self):
        """
        Main work daemon function (implement in child class)
        """
        raise NotImplementedError()

    def stop(self, *args, **kwargs):
        """
        Stops a working daemon process (implement in child class)
        """
        raise NotImplementedError()

    def reload(self):
        """
        Reload working daemon process by sending SIGHUP signal to it
        """
        try:
            pid = get_process_pid(self._PID_FILENAME)
            if pid:
                os.kill(pid, signal.SIGHUP)
        except:
            pass

    def _sighup_handler(self, signum, frame):
        """
        SIGHUP signal handler
        """
        # Load new user configuration from config file
        self._reload_config_need = True
        logger.info("SIGHUP: Cloudlinux AccelerateWP daemon sheduled for reload")

    def _sigint_handler(self, signum, frame):
        """
        SIGINT (Ctrl-C) signal handler. For console debug
        """
        logger.info("Ctrl-C received, exit")
        # Terminate main cycle
        self._is_terminate = True

    def _sigterm_handler(self, signum, frame):
        """
        SIGTERM signal handler. Called when daemon stopping
        """
        # Terminate main cycle
        self._is_terminate = True

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
17 Dec 2025 3.08 AM
root / root
0755
__pycache__
--
16 Dec 2025 9.38 PM
root / root
0755
bin
--
16 Dec 2025 9.31 PM
root / root
0755
cli_versions
--
16 Dec 2025 9.31 PM
root / root
0755
feature_suites
--
16 Dec 2025 9.31 PM
root / root
0755
hooks
--
16 Dec 2025 9.31 PM
root / root
0755
migrations
--
16 Dec 2025 9.31 PM
root / root
0755
object_cache
--
16 Dec 2025 9.31 PM
root / root
0755
optimization_features
--
16 Dec 2025 9.31 PM
root / root
0755
php
--
16 Dec 2025 9.31 PM
root / root
0755
user
--
16 Dec 2025 9.31 PM
root / root
0755
__init__.py
0.906 KB
29 Sep 2025 8.34 PM
root / root
0644
billing.py
6.242 KB
29 Sep 2025 8.34 PM
root / root
0644
cl_wpos_exceptions.py
3.591 KB
29 Sep 2025 8.34 PM
root / root
0644
constants.py
5.562 KB
29 Sep 2025 8.34 PM
root / root
0644
create_user_uid_dirs.py
0.736 KB
29 Sep 2025 8.34 PM
root / root
0644
cron.py
2.138 KB
29 Sep 2025 8.34 PM
root / root
0644
daemon.py
37.119 KB
29 Sep 2025 8.34 PM
root / root
0644
daemon_base.py
2.844 KB
29 Sep 2025 8.34 PM
root / root
0644
daemon_config.py
0.606 KB
29 Sep 2025 8.34 PM
root / root
0644
daemon_redis_lib.py
11.932 KB
29 Sep 2025 8.34 PM
root / root
0644
daemon_subscription_handler.py
6.438 KB
29 Sep 2025 8.34 PM
root / root
0644
data_collector_utils.py
9.418 KB
29 Sep 2025 8.34 PM
root / root
0644
logsetup.py
4.045 KB
29 Sep 2025 8.34 PM
root / root
0644
papi.py
9.867 KB
29 Sep 2025 8.34 PM
root / root
0644
parse.py
2.104 KB
29 Sep 2025 8.34 PM
root / root
0644
redis_configuration_pid_file_cleaner.py
1.013 KB
29 Sep 2025 8.34 PM
root / root
0755
report_generator.py
21.176 KB
29 Sep 2025 8.34 PM
root / root
0644
scoped_cache.py
1.34 KB
29 Sep 2025 8.34 PM
root / root
0644
socket_utils.py
4.029 KB
29 Sep 2025 8.34 PM
root / root
0644
stats.py
12.016 KB
29 Sep 2025 8.34 PM
root / root
0644
utils.py
54.336 KB
29 Sep 2025 8.34 PM
root / root
0644
whmcs_utils.py
9.361 KB
29 Sep 2025 8.34 PM
root / root
0644
wp_config.py
0.708 KB
29 Sep 2025 8.34 PM
root / root
0644
wp_utils.py
16.33 KB
29 Sep 2025 8.34 PM
root / root
0644
wpos_admin.py
67.14 KB
29 Sep 2025 8.34 PM
root / root
0644
wpos_hooks.py
4.854 KB
29 Sep 2025 8.34 PM
root / root
0755
wpos_req_scanner.py
4.38 KB
29 Sep 2025 8.34 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF