/usr/share/cagefs-skeleton/opt/cloudlinux/venv/lib/python3.11/site-packages/clwpos
from __future__ import absolute_import import os import subprocess import logging from glob import iglob from typing import Iterable from clwpos.optimization_features import ( Feature, OBJECT_CACHE_FEATURE, CDN_FEATURE ) _DEFAULT_SCRIPT_ENV = { "CLSHARE": "/usr/share/cloudlinux", "WPOS_REQ_CRON_FILE": "/etc/cron.d/clwpos_req_cron", "CLWPOS_COLLECT_INFORMATION_CRON": "/etc/cron.d/clwpos_collect_information_cron.py" } _OBJECT_CACHING_ENV = { "CLWPOS_REDIS_EXTENSION_INSTALLER": "/etc/cron.d/clwpos_redis_extension_installer", "CLWPOS_CLEANER_CRON": "/etc/cron.d/clwpos_cleaner_cron", "CLWPOS_BILLING_CRON": "/etc/cron.d/clwpos_billing_cron", } _CDN_ENV = { "CLWPOS_BILLING_CRON": "/etc/cron.d/clwpos_billing_cron", } _CRON_ENV_BY_FEATURE = { OBJECT_CACHE_FEATURE: _OBJECT_CACHING_ENV, CDN_FEATURE: _CDN_ENV } def install_cron_files(features: Iterable[Feature], wait_child_process=False): """ This script installs cron files based on the features that are currently enabled. Please note that already installed cron files will not be removed if new list has missing feature against previous one. """ features = tuple(features) if wait_child_process: exec_func = subprocess.run else: exec_func = subprocess.Popen if not features: logging.info('There are no features active, skip installing cron files.') return env_params = _DEFAULT_SCRIPT_ENV.copy() for feature in features: feature_env = _CRON_ENV_BY_FEATURE.get(feature) if feature_env is None: continue logging.info('Feature %s is active, installing cron files', feature) env_params.update(feature_env) exec_func( ["/usr/share/cloudlinux/add_clwpos_crons.sh"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, env=env_params ) def clean_crons(prefix: str): """Remove all cron files starting from prefix""" crondir = '/etc/cron.d' for _f in iglob(f'{crondir}/{prefix}*'): os.unlink(_f) def clean_clwpos_crons(): """Remove all WPOS cron files""" clean_crons(prefix='clwpos_')
.
Edit
..
Edit
__init__.py
Edit
__pycache__
Edit
billing.py
Edit
bin
Edit
cl_wpos_exceptions.py
Edit
cli_versions
Edit
constants.py
Edit
create_user_uid_dirs.py
Edit
cron.py
Edit
daemon.py
Edit
daemon_base.py
Edit
daemon_config.py
Edit
daemon_redis_lib.py
Edit
daemon_subscription_handler.py
Edit
data_collector_utils.py
Edit
feature_suites
Edit
hooks
Edit
logsetup.py
Edit
migrations
Edit
object_cache
Edit
optimization_features
Edit
papi.py
Edit
parse.py
Edit
php
Edit
redis_configuration_pid_file_cleaner.py
Edit
report_generator.py
Edit
scoped_cache.py
Edit
socket_utils.py
Edit
stats.py
Edit
user
Edit
utils.py
Edit
whmcs_utils.py
Edit
wp_config.py
Edit
wp_utils.py
Edit
wpos_admin.py
Edit
wpos_hooks.py
Edit
wpos_req_scanner.py
Edit