$66 GRAYBYTE WORDPRESS FILE MANAGER $68

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/plugins/

HOME
Current File : /opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/plugins//checkpoint.py
from defence360agent.contracts.plugins import MessageSink
from defence360agent.model.instance import db
from defence360agent.utils import recurring_check


class Checkpoint(MessageSink):
    """
    Checkpoint imunify360.db periodically to limit unexpected WAL file growing.
    """

    ONE_DAY = 24 * 60 * 60

    def __init__(self, *, checkpoint_period=ONE_DAY, db=db):
        self._checkpoint_period = checkpoint_period
        self._db = db
        self._task = None

    async def create_sink(self, loop):
        self._loop = loop
        self._task = self._loop.create_task(
            recurring_check(self._checkpoint_period)(self._checkpoint)()
        )

    async def shutdown(self):
        task, self._task = self._task, None  # avoid cancelling twice
        if task is None or task.cancelled():
            return
        task.cancel()
        # CancelledError is handled by @recurring_check():
        await task

    async def _checkpoint(self):
        # 1. may not shrink database wal file in case of this command will be
        # during external read process took place
        # 2. returning immediately without result if database
        # has concurrent transaction
        self._db.execute_sql("PRAGMA wal_checkpoint(TRUNCATE)")


Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
3 Mar 2026 8.45 AM
root / root
0755
__pycache__
--
3 Mar 2026 8.45 AM
root / root
0755
__init__.py
0 KB
23 Jan 2026 1.13 PM
root / root
0644
accumulate.py
3.633 KB
23 Jan 2026 1.13 PM
root / root
0644
analyst_cleanup_update.py
5.529 KB
23 Jan 2026 1.13 PM
root / root
0644
backup_info_sender.py
3.056 KB
23 Jan 2026 1.13 PM
root / root
0644
cagefs.py
5.168 KB
23 Jan 2026 1.13 PM
root / root
0644
checkpoint.py
1.228 KB
23 Jan 2026 1.13 PM
root / root
0644
client.py
10.597 KB
23 Jan 2026 1.13 PM
root / root
0644
config_merger.py
0.809 KB
23 Jan 2026 1.13 PM
root / root
0644
config_watcher.py
1.889 KB
23 Jan 2026 1.13 PM
root / root
0644
event_hook_executor.py
0.759 KB
23 Jan 2026 1.13 PM
root / root
0644
event_monitor.py
3.324 KB
23 Jan 2026 1.13 PM
root / root
0644
event_monitor_message_processor.py
6.329 KB
23 Jan 2026 1.13 PM
root / root
0644
files_recurring_update.py
1.095 KB
23 Jan 2026 1.13 PM
root / root
0644
icontact_sender.py
4.423 KB
23 Jan 2026 1.13 PM
root / root
0644
idle_time_out.py
1.21 KB
23 Jan 2026 1.13 PM
root / root
0644
lve_utils_install.py
1.577 KB
23 Jan 2026 1.13 PM
root / root
0644
myimunify.py
1.978 KB
23 Jan 2026 1.13 PM
root / root
0644
ping.py
0.523 KB
23 Jan 2026 1.13 PM
root / root
0644
send_domain_list.py
2.778 KB
23 Jan 2026 1.13 PM
root / root
0644
send_server_config.py
10.961 KB
23 Jan 2026 1.13 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF