GRAYBYTE WORDPRESS FILE MANAGER2015

Server IP : 198.54.121.189 / Your IP : 216.73.216.112
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/plugins/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/plugins//config_watcher.py
import time
from defence360agent.contracts import config
from defence360agent.contracts.messages import MessageType
from defence360agent.contracts.plugins import (
    MessageSink,
    MessageSource,
    expect,
)
from defence360agent.utils import recurring_check, Scope

POLLING_INTERVAL = config.int_from_envvar("READ_CONFIG_POLLING_INTERVAL", 30)


class ConfigWatcher(MessageSink, MessageSource):
    """Send ConfigUpdate message on [root's] config update.

    The config update is detected by polling config file's
    modification time.

    """

    SCOPE = Scope.AV

    def __init__(self):
        self._config = config.ConfigFile()
        self._last_notify_time = 0
        self._sink = None
        self._task = None

    async def create_sink(self, loop):
        "plugins.MessageSink method"

    @expect(MessageType.ConfigUpdate)
    async def on_config_update_message(self, message):
        # update the time, to avoid sending duplicate ConfigUpdate
        # messages after the "config update" command
        self._last_notify_time = message["timestamp"]

    async def create_source(self, loop, sink):
        self._sink = sink
        self._task = loop.create_task(self._check_config())

    async def shutdown(self):
        if self._task is not None:
            t, self._task = self._task, None
            t.cancel()
            await t
        self._sink = None

    @recurring_check(POLLING_INTERVAL)
    async def _check_config(self):
        if config.any_layer_modified_since(self._last_notify_time):
            # notify about the update
            message = MessageType.ConfigUpdate(
                conf=self._config, timestamp=time.time()
            )
            await self._sink.process_message(message)
            # update the time here, in case ConfigUpdate might stuck
            # in the queue for longer than the polling interval
            self._last_notify_time = message["timestamp"]

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
July 11 2025 07:52:56
root / root
0755
__pycache__
--
July 11 2025 07:52:56
root / root
0755
__init__.py
0 KB
July 09 2025 15:10:25
root / root
0644
accumulate.py
3.53 KB
July 09 2025 15:10:25
root / root
0644
analyst_cleanup_update.py
5.529 KB
July 09 2025 15:10:25
root / root
0644
backup_info_sender.py
3.056 KB
July 09 2025 15:10:25
root / root
0644
checkpoint.py
1.228 KB
July 09 2025 15:10:25
root / root
0644
client.py
9.701 KB
July 09 2025 15:10:25
root / root
0644
config_merger.py
0.809 KB
July 09 2025 15:10:25
root / root
0644
config_watcher.py
1.889 KB
July 09 2025 15:10:25
root / root
0644
event_hook_executor.py
0.759 KB
July 09 2025 15:10:25
root / root
0644
event_monitor.py
3.324 KB
July 09 2025 15:10:25
root / root
0644
event_monitor_message_processor.py
6.329 KB
July 09 2025 15:10:25
root / root
0644
files_recurring_update.py
1.095 KB
July 09 2025 15:10:25
root / root
0644
icontact_sender.py
4.356 KB
July 09 2025 15:10:25
root / root
0644
idle_time_out.py
1.21 KB
July 09 2025 15:10:25
root / root
0644
lve_utils_install.py
1.577 KB
July 09 2025 15:10:25
root / root
0644
myimunify.py
1.931 KB
July 09 2025 15:10:25
root / root
0644
ping.py
0.523 KB
July 09 2025 15:10:25
root / root
0644
send_domain_list.py
2.789 KB
July 09 2025 15:10:25
root / root
0644
send_server_config.py
10.37 KB
July 09 2025 15:10:25
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF