B$ d Z ddlZddlZddlZddlmZ ddlmZ ddlm Z m Z ddlmZ ddl mZ ej e Z G d d e j ZdS ) zDPlugin that detects whether IDS has set on non-resident agent start. N)utils)safe_cancel_task)pluginsmessagesstrategy)configc l e Zd ZdZ fdZd Zd Z ej e d Z d Zd Z xZ S )StrategyGetterz8Send StrategyChange message on non-resident agent start.c H t j di | d | _ d S )N )super__init___StrategyGetter__task)selfkwargs __class__s R/opt/imunify360/venv/lib/python3.11/site-packages/im360/plugins/strategy_getter.pyr zStrategyGetter.__init__ s+ ""6""" c ~ K || _ || _ | | | _ d S N)_loop_sinkcreate_task_detect_strategy_changer )r loopsinks r create_sourcezStrategyGetter.create_source s9 &&t'C'C'E'EFFr c K | j | j rd S t | j d {V d S r )r doner r s r shutdownzStrategyGetter.shutdown sN ;$+"2"2"4"4Ft{+++++++++++r c K t j t j 5 | d{V t j t j j d{V D# 1 swxY w Y dS )z+Check whether IDS has changed periodically.TN) contextlibsuppressasyncioCancelledError_refresh_strategysleepr SubsysTHIRD_PARTY_IDS_CHECK_TIMEOUTr! s r r z&StrategyGetter._detect_strategy_change! s !7 8 8 ,,.........mM? s AA''A+.A+c 4 K t j }|t j j k r| | d {V d S d S # t j $ r Y d S t $ r&}t d| Y d }~d S d }~ww xY w)NzFailed to get strategy, %s) r Strategygetcurrent_on_strategy_changedr&