from logging import getLogger from defence360agent.api import inactivity from defence360agent.contracts.config import SimpleRpc from defence360agent.contracts.plugins import MessageSink from defence360agent.utils import clip, fail_agent_service, recurring_check logger = getLogger(__name__) class IdleTimeOutCheck(MessageSink): async def create_sink(self, loop): self._loop = loop if SimpleRpc.SOCKET_ACTIVATION: inactivity.track.reset_timer() self._task = loop.create_task( recurring_check( period=clip( SimpleRpc.INACTIVITY_TIMEOUT // 5, low=1, high=60 ), )( self._check_timeout, )() ) else: self._task = None async def shutdown(self): if self._task: self._task.cancel() # CancelledError is handled by @recurring_check(): await self._task async def _check_timeout(self): logger.info("Periodical check %s ", inactivity.track) if inactivity.track.is_timeout(): logger.warning("Shutting down due to inactivity.") fail_agent_service()
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 0 B | 0644 |
|
accumulate.py | File | 3.53 KB | 0644 |
|
backup_info_sender.py | File | 3.06 KB | 0644 |
|
check_license.py | File | 7.58 KB | 0644 |
|
checkpoint.py | File | 1.23 KB | 0644 |
|
client.py | File | 9.43 KB | 0644 |
|
config_merger.py | File | 828 B | 0644 |
|
config_watcher.py | File | 1.89 KB | 0644 |
|
event_hook_executor.py | File | 777 B | 0644 |
|
event_monitor.py | File | 3.32 KB | 0644 |
|
event_monitor_message_processor.py | File | 6.33 KB | 0644 |
|
files_recurring_update.py | File | 1.09 KB | 0644 |
|
icontact_sender.py | File | 4.36 KB | 0644 |
|
idle_time_out.py | File | 1.21 KB | 0644 |
|
lve_utils_install.py | File | 1.58 KB | 0644 |
|
myimunify.py | File | 1.43 KB | 0644 |
|
ping.py | File | 536 B | 0644 |
|
send_domain_list.py | File | 2.79 KB | 0644 |
|
send_server_config.py | File | 10.1 KB | 0644 |
|