PHP 8.3.31
Preview: files_recurring_update.py Size: 1.09 KB
/proc/thread-self/root/opt/imunify360/venv/lib64/python3.11/site-packages/defence360agent/plugins/files_recurring_update.py

import logging

from defence360agent import files
from defence360agent.contracts import config, messages
from defence360agent.contracts.plugins import MessageSource
from defence360agent.utils import recurring_check

logger = logging.getLogger(__name__)


class FilesRecurringUpdateTask(MessageSource):
    async def _on_files_update(
        self, index: files.Index, is_updated: bool
    ) -> None:
        if is_updated:
            message = messages.MessageType.FilesUpdated(index.type, index)
            await self._sink.process_message(message)

    async def create_source(self, loop, sink):
        self._loop = loop
        self._sink = sink
        self._task = loop.create_task(self._update_task())
        # subscribe to file updates
        for type_ in files.Index.types():
            files.Index.add_hook(type_, self._on_files_update)

    async def shutdown(self):
        self._task.cancel()
        # CancelledError is handled by @recurring_check():
        await self._task

    @recurring_check(config.FilesUpdate.PERIOD)
    async def _update_task(self):
        await files.update_and_log_error()

Directory Contents

Dirs: 1 × Files: 22

Name Size Perms Modified Actions
- drwxr-xr-x 2026-06-08 20:23:14
Edit Download
3.51 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
5.53 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
2.98 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
5.17 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
1.23 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
12.72 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
828 B lrw-r--r-- 2026-05-26 21:20:44
Edit Download
1.89 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
777 B lrw-r--r-- 2026-05-26 21:20:44
Edit Download
3.23 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
6.33 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
7.09 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
1.09 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
4.42 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
1.21 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
1.77 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
1.98 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
536 B lrw-r--r-- 2026-05-26 21:20:44
Edit Download
2.83 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
11.05 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
26.40 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
0 B lrw-r--r-- 2026-05-26 21:20:44
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).