Files
assist/src/agent/__pycache__/auto_monitor.cpython-311.pyc

94 lines
18 KiB
Plaintext
Raw Normal View History

<EFBFBD>
؈<>h<EFBFBD>8<00><00><><00>dZddlZddlZddlZddlZddlmZmZddlmZm Z m
Z
m Z ddl Z ej e<0E><00>ZGd<05>d<06><00>ZdS)u5
自动监控服务
实现Agent的主动调用功能
<EFBFBD>N)<02>datetime<6D> timedelta)<04>Dict<63>Any<6E>List<73>Optionalc<00><><00>eZdZdZd<02>Zdefd<04>Zdefd<05>Zd<06>Zd<07>Z d<08>Z
d <09>Z d
<EFBFBD>Z d <0B>Z d <0C>Zd <0A>Zdeeeffd<0F>Zdeeeffd<10>Zdeeeffd<11>Zdeeeffd<12>Zdeeeffd<13>Zdeeeffd<14>Zdeeeffd<15>Zdeeeffd<16>Zdeeeffd<17>Zdeeeffd<18>Zdeeeffd<19>Zdedefd<1B>ZdS)<1D>AutoMonitorServiceu自动监控服务c<00>d<00>||_d|_d|_d|_d|_ddddd<04>|_dS)NFi,r)<04> total_checks<6B>proactive_actions<6E>last_action_time<6D> error_count)<06>agent_assistant<6E>
is_running<EFBFBD>monitor_thread<61>check_interval<61>last_check_time<6D>monitoring_stats)<02>selfrs <20>@c:\Users\jiezhao\Desktop\TSP_assistant\src\agent\auto_monitor.py<70>__init__zAutoMonitorService.__init__sJ<00><00>.<2E><04><1C><1F><04><0F>"<22><04><1B>!<21><04><1B>#<23><04><1C><1D>!"<22> $<24><1C> !
<EFBFBD>!
<EFBFBD><04><1D><1D><1D><00>returnc<00>l<00> |jrt<00>d<01><00>dSd|_tj|jd<02><03><00>|_|j<00><00><00>t<00>d<04><00>dS#t$r(}t<00>
d|<01><00><02><00>Yd}~dSd}~wwxYw)u启动自动监控u自动监控已在运行中T)<02>target<65>daemonu自动监控服务已启动u启动自动监控失败: NF) r<00>logger<65>warning<6E> threading<6E>Thread<61>_monitoring_loopr<00>start<72>info<66> Exception<6F>error<6F>r<00>es r<00>start_auto_monitoringz(AutoMonitorService.start_auto_monitoring"s<><00><00> <19><13><EFBFBD> <1C><16><0E><0E><<3C>=<3D>=<3D>=<3D><1B>t<EFBFBD>"<22>D<EFBFBD>O<EFBFBD>"+<2B>"2<>$<24>:O<>X\<5C>"]<5D>"]<5D>"]<5D>D<EFBFBD> <1F> <10> <1F> %<25> %<25> '<27> '<27> '<27> <12>K<EFBFBD>K<EFBFBD>5<> 6<> 6<> 6<><17>4<EFBFBD><34><18> <19> <19> <19> <12>L<EFBFBD>L<EFBFBD>9<>a<EFBFBD>9<>9<> :<3A> :<3A> :<3A><18>5<EFBFBD>5<EFBFBD>5<EFBFBD>5<EFBFBD>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD> <19><><EFBFBD>s<00>!B<00>AB<00>
B3<03> B.<03>.B3c<00>*<00> d|_|jr4|j<00><00><00>r|j<00>d<02><03><00>t<00>d<04><00>dS#t $r(}t<00>d|<01><00><02><00>Yd}~dSd}~wwxYw)u停止自动监控F<E68EA7>)<01>timeoutu自动监控服务已停止Tu停止自动监控失败: N)rr<00>is_alive<76>joinrr$r%r&r's r<00>stop_auto_monitoringz'AutoMonitorService.stop_auto_monitoring4s<><00><00>
<19>#<23>D<EFBFBD>O<EFBFBD><13>"<22> 4<>t<EFBFBD>':<3A>'C<>'C<>'E<>'E<> 4<><14>#<23>(<28>(<28><11>(<28>3<>3<>3<> <12>K<EFBFBD>K<EFBFBD>5<> 6<> 6<> 6<><17>4<EFBFBD><34><18> <19> <19> <19> <12>L<EFBFBD>L<EFBFBD>9<>a<EFBFBD>9<>9<> :<3A> :<3A> :<3A><18>5<EFBFBD>5<EFBFBD>5<EFBFBD>5<EFBFBD>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD> <19><><EFBFBD>s<00>AA <00>
B<03>*B <03> Bc<00>r<00>t<00>d<01><00>|jr<> |<00><00><00>t j|j<00><00>n]#t$rP}t<00>d|<01><00><02><00>|j dxxdz cc<t jd<05><00>Yd}~nd}~wwxYw|j<00><>dSdS)u 监控循环u自动监控循环已启动u监控循环错误: r<00><00><N)
rr$r<00>_perform_monitoring_check<63>time<6D>sleeprr%r&rr's rr"z#AutoMonitorService._monitoring_loopBs<><00><00><0E> <0B> <0B>1<>2<>2<>2<><12>o<EFBFBD> <1F>
<1F><14>.<2E>.<2E>0<>0<>0<><15>
<EFBFBD>4<EFBFBD>.<2E>/<2F>/<2F>/<2F>/<2F><><1C> <1F> <1F> <1F><16> <0C> <0C>7<>A<EFBFBD>7<>7<>8<>8<>8<><14>%<25>m<EFBFBD>4<>4<>4<><01>9<>4<>4<>4<><14>
<EFBFBD>2<EFBFBD><0E><0E><0E><0E><0E><0E><0E><0E><><EFBFBD><EFBFBD><EFBFBD> <1F><><EFBFBD><EFBFBD><13>o<EFBFBD> <1F> <1F> <1F> <1F> s<00>-A<00>
B+<03>AB&<03>&B+c<00>8<00> |jdxxdz cc<tj<00><00>|_t<00>d|jd<00>d<04><03><00>|<00><00><00>|<00><00><00>|<00><00><00>|<00> <00><00>|<00>
<00><00>|<00> <00><00>dS#t$r=}t<00> d|<01><00><02><00>|jdxxdz cc<Yd}~dSd}~wwxYw)u执行监控检查r r1u
执行第 u 次自动监控检查u执行监控检查失败: rN)rr<00>nowrrr$<00>_check_system_health<74>_check_alert_status<75>_check_workorder_backlog<6F>_check_knowledge_quality<74>_check_user_satisfaction<6F>_check_system_performancer%r&r's rr3z,AutoMonitorService._perform_monitoring_checkSsC<00><00> 6<> <10> !<21>.<2E> 1<> 1<> 1<>Q<EFBFBD> 6<> 1<> 1<> 1<>#+<2B><<3C>><3E>><3E>D<EFBFBD> <20> <12>K<EFBFBD>K<EFBFBD>b<>T<EFBFBD>%:<3A>><3E>%J<>b<>b<>b<> c<> c<> c<> <11> %<25> %<25> '<27> '<27> '<27> <11> $<24> $<24> &<26> &<26> &<26> <11> )<29> )<29> +<2B> +<2B> +<2B> <11> )<29> )<29> +<2B> +<2B> +<2B> <11> )<29> )<29> +<2B> +<2B> +<2B> <11> *<2A> *<2A> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C><><18> 6<> 6<> 6<> <12>L<EFBFBD>L<EFBFBD>9<>a<EFBFBD>9<>9<> :<3A> :<3A> :<3A> <10> !<21>-<2D> 0<> 0<> 0<>A<EFBFBD> 5<> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0<><30><EFBFBD><EFBFBD><EFBFBD> 6<><36><EFBFBD>s<00>CC<00>
D<03>2D<03>Dc<00><00> |j<00><00><00>}|<01>dd<02><00>}|dkr!|<00>ddd|d<07><04>d|d <09><05><00>d Sd S#t$r(}t
<00>d
|<03><00><02><00>Yd }~d Sd }~wwxYw) u检查系统健康状态<E78AB6> health_scoreg<00>?<3F>ffffff<66>?<3F>system_health_warning<6E>highu系统健康分数较低: <20>.2fu建议立即检查系统状态<E78AB6><05>type<70>priority<74> description<6F>action<6F>datau 检查系统健康状态失败: N)r<00>get_system_health<74>get<65>_trigger_proactive_actionr%rr&)r<00>healthr?r(s rr8z'AutoMonitorService._check_system_healthqs<><00><00> A<01><19>)<29>;<3B>;<3B>=<3D>=<3D>F<EFBFBD>!<21>:<3A>:<3A>n<EFBFBD>c<EFBFBD>:<3A>:<3A>L<EFBFBD><1B>c<EFBFBD>!<21>!<21><14>.<2E>.<2E>3<> &<26>#R<> <0C>#R<>#R<>#R<>><3E>"<22> 0<12>0<12><13><13><13><13><13>"<22>!<21><><19> A<01> A<01> A<01> <12>L<EFBFBD>L<EFBFBD>?<3F>A<EFBFBD>?<3F>?<3F> @<40> @<40> @<40> @<40> @<40> @<40> @<40> @<40> @<40><><EFBFBD><EFBFBD><EFBFBD> A<01><><EFBFBD>s<00>AA<00>
B <03>$B<03>B c<00>@<00> |j<00><00><00>}t|t<00><00>rt |<01><00>nd}|dkr"|<00>ddd|<02><00>dd|id<08><05><00>d
Sd
S#t $r(}t<00>d |<03><00><02><00>Yd
}~d
Sd
}~wwxYw) u检查预警状态rr+<00>alert_overflowrBu活跃预警数量过多: u建议立即处理预警<E9A284> alert_countrDu检查预警状态失败: N) r<00>get_active_alerts<74>
isinstance<EFBFBD>list<73>lenrLr%rr&)r<00>alertsrPr(s rr9z&AutoMonitorService._check_alert_status<75>s<><00><00> ;<3B><19>)<29>;<3B>;<3B>=<3D>=<3D>F<EFBFBD>)3<>F<EFBFBD>D<EFBFBD>)A<>)A<>H<>#<23>f<EFBFBD>+<2B>+<2B>+<2B>q<EFBFBD>K<EFBFBD><1A>Q<EFBFBD><EFBFBD><EFBFBD><14>.<2E>.<2E>,<2C> &<26>#M<> <0B>#M<>#M<>8<>*<2A>K<EFBFBD>8<> 0<12>0<12><13><13><13><13><13><1F><EFBFBD><7F><19> ;<3B> ;<3B> ;<3B> <12>L<EFBFBD>L<EFBFBD>9<>a<EFBFBD>9<>9<> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A><><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD>s<00>A%A+<00>+
B<03>5B<03>Bc
<00><><00> |j<00><00><00>}t|t<00><00>rat d<01>|D<00><00><00><00>}t d<02>|D<00><00><00><00>}||z}|dkr&|<00>ddd|<04><00>d|||d<08>d <09><05><00>d Sd Sd S#t $r(}t<00>d
|<05><00><02><00>Yd }~d Sd }~wwxYw) u检查工单积压c<00>D<00>g|]}|<01>d<00><00>dk<00>|<01><02>S)<02>status<75>open<65>rK<00><02>.0<EFBFBD>ws r<00>
<listcomp>z?AutoMonitorService._check_workorder_backlog.<locals>.<listcomp><3E>s,<00><00>!U<>!U<>!U<><01>1<EFBFBD>5<EFBFBD>5<EFBFBD><18>?<3F>?<3F>f<EFBFBD>;T<>;T<>!<21>;T<>;T<>;Trc<00>D<00>g|]}|<01>d<00><00>dk<00>|<01><02>S)rX<00> in_progressrZr[s rr^z?AutoMonitorService._check_workorder_backlog.<locals>.<listcomp><3E>s-<00><00>(c<>(c<>(c<>q<EFBFBD>!<21>%<25>%<25><08>/<2F>/<2F>Ub<55>Bb<42>Bb<42><11>Bb<42>Bb<42>Bbr<00>
<00>workorder_backlog<6F>mediumu待处理工单过多: u'建议增加处理人员或优化流程)<03>
open_count<EFBFBD>in_progress_count<6E> total_pendingrDu检查工单积压失败: N) r<00>get_workordersrRrSrTrLr%rr&)r<00>
workordersrdrerfr(s rr:z+AutoMonitorService._check_workorder_backlog<6F>s/<00><00> ;<3B><1D>-<2D><<3C><<3C>><3E>><3E>J<EFBFBD><19>*<2A>d<EFBFBD>+<2B>+<2B> <17> <20>!U<>!U<>Z<EFBFBD>!U<>!U<>!U<>V<>V<>
<EFBFBD>$'<27>(c<>(c<>J<EFBFBD>(c<>(c<>(c<>$d<>$d<>!<21> *<2A>-><3E> ><3E> <0A> <20>2<EFBFBD>%<25>%<25><18>2<>2<> 3<>$,<2C>'P<><1D>'P<>'P<>"K<>*4<>1B<31>-:<3A>!<1A>!<1A>
4<16>
4<16>
<17>
<17>
<17>
<17>
<17>  <17> <17>
&<26>%<25><><19> ;<3B> ;<3B> ;<3B> <12>L<EFBFBD>L<EFBFBD>9<>a<EFBFBD>9<>9<> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A><><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD>s<00>B B<00>
C<03>C<03>Cc <00>Z<00> |jj<00><00><00>}|<01>dd<02><00>}|<01>dd<04><00>}|dkr$|<00>ddd|d <09><04>d
||d <0B>d <0C><05><00>dSdS#t
$r(}t <00>d |<04><00><02><00>Yd}~dSd}~wwxYw)u检查知识库质量<E8B4A8>average_confidenceg<65><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F> total_entriesrg333333<33>?<3F>knowledge_quality_lowrcu 知识库平均置信度较低: rCu$建议更新和优化知识库内容)<02>avg_confidencerkrDu检查知识库质量失败: N)r<00>knowledge_manager<65>get_knowledge_statsrKrLr%rr&)r<00>statsrmrkr(s rr;z+AutoMonitorService._check_knowledge_quality<74>s<><00><00> ><3E><18>(<28>:<3A>N<>N<>P<>P<>E<EFBFBD>"<22>Y<EFBFBD>Y<EFBFBD>';<3B>S<EFBFBD>A<>A<>N<EFBFBD>!<21>I<EFBFBD>I<EFBFBD>o<EFBFBD>q<EFBFBD>9<>9<>M<EFBFBD><1D><03>#<23>#<23><14>.<2E>.<2E>3<> (<28>#Z<>n<EFBFBD>#Z<>#Z<>#Z<>D<>/=<3D>P]<5D>^<5E>^<5E> 0<12>0<12><13><13><13><13><13>$<24>#<23><><19> ><3E> ><3E> ><3E> <12>L<EFBFBD>L<EFBFBD><<3C><11><<3C><<3C> =<3D> =<3D> =<3D> =<3D> =<3D> =<3D> =<3D> =<3D> =<3D><><EFBFBD><EFBFBD><EFBFBD> ><3E><><EFBFBD>s<00>A2A8<00>8
B*<03>B%<03>%B*c<00><><00> d}|dkr#|<00>ddd|d<06><04>dd|id <09><05><00>d Sd S#t$r(}t<00>d
|<02><00><02><00>Yd }~d Sd }~wwxYw) u检查用户满意度g<00>?r@<00>low_satisfactionrBu用户满意度较低: rCu-建议分析低满意度原因并改进服务<E69C8D>satisfaction_scorerDu检查用户满意度失败: N<>rLr%rr&)rrsr(s rr<z+AutoMonitorService._check_user_satisfaction<6F>s<><00><00> ><3E>"&<26> <1E>!<21>C<EFBFBD>'<27>'<27><14>.<2E>.<2E>.<2E> &<26>#U<>=O<>#U<>#U<>#U<>M<>1<>3E<33>F<> 0<12>0<12><13><13><13><13><13>(<28>'<27><><19> ><3E> ><3E> ><3E> <12>L<EFBFBD>L<EFBFBD><<3C><11><<3C><<3C> =<3D> =<3D> =<3D> =<3D> =<3D> =<3D> =<3D> =<3D> =<3D><><EFBFBD><EFBFBD><EFBFBD> ><3E><><EFBFBD>s<00>)/<00>
A!<03>A<03>A!c<00><00> d}d}|dkr"|<00>ddd|d<07>d<08>d d
|id <0B><05><00>|d kr#|<00>d dd|d<10><04>dd|id <0B><05><00>dSdS#t$r(}t<00>d|<03><00><02><00>Yd}~dSd}~wwxYw)u检查系统性能g333333<33>?g{<14>G<EFBFBD>z<EFBFBD>?g@<40> slow_responsercu系统响应时间过慢: rCu秒u建议优化系统性能<E680A7> response_timerDg<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>high_error_raterBu系统错误率过高: z.2%u建议立即检查系统错误<E99499>
error_rateu检查系统性能失败: Nrt)rrwryr(s rr=z,AutoMonitorService._check_system_performance<63>s<00><00> ;<3B><1F>M<EFBFBD><1D>J<EFBFBD><1C>s<EFBFBD>"<22>"<22><14>.<2E>.<2E>+<2B> (<28>#V<> <0A>#V<>#V<>#V<>#V<>8<>,<2C>m<EFBFBD><<3C> 0<12>0<12><13><13><13><1A>D<EFBFBD> <20> <20><14>.<2E>.<2E>-<2D> &<26>#M<>Z<EFBFBD>#M<>#M<>#M<>><3E>)<29>:<3A>6<> 0<12>0<12><13><13><13><13><13>!<21> <20><><19> ;<3B> ;<3B> ;<3B> <12>L<EFBFBD>L<EFBFBD>9<>a<EFBFBD>9<>9<> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A><><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD>s<00>AA<00>
B <03>#B<03>B <03> action_datac<00>~<00> |jdxxdz cc<tj<00><00>|jd<t<00>d|d<00>d|d<00><00><04><00>|<00>|<01><00>|<00>|<01><00>d S#t$r(}t<00>d|<02><00><02><00>Yd }~d Sd }~wwxYw)
u触发主动行动r r1ru触发主动行动: rEz - rGu触发主动行动失败: N) rrr7rr$<00>_log_proactive_action<6F>_execute_proactive_actionr%r&)rrzr(s rrLz,AutoMonitorService._trigger_proactive_action<6F>s<><00><00> ;<3B> <10> !<21>"5<> 6<> 6<> 6<>!<21> ;<3B> 6<> 6<> 6<>8@<40> <0C><0E><0E>D<EFBFBD> !<21>"4<> 5<> <12>K<EFBFBD>K<EFBFBD>c<>{<7B>6<EFBFBD>/B<>c<>c<>{<7B>S`<60>Ga<47>c<>c<> d<> d<> d<> <11> &<26> &<26>{<7B> 3<> 3<> 3<> <11> *<2A> *<2A>;<3B> 7<> 7<> 7<> 7<> 7<><37><18> ;<3B> ;<3B> ;<3B> <12>L<EFBFBD>L<EFBFBD>9<>a<EFBFBD>9<>9<> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A><><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD>s<00>BB
<00>
B<<03>B7<03>7B<c <00><><00> tj<00><00><00><00><00>|d|d|d|d|<01>di<00><00>d<06>}t<00>dt j|d<08> <09><00><00><00><02><00>d S#t$r(}t<00> d
|<03><00><02><00>Yd }~d Sd }~wwxYw) u记录主动行动rErFrGrHrI)<06> timestamp<6D> action_typerFrGrHrIu主动行动记录: F)<01> ensure_asciiu记录主动行动失败: N)
rr7<00> isoformatrKrr$<00>json<6F>dumpsr%r&)rrz<00> log_entryr(s rr|z(AutoMonitorService._log_proactive_actions<><00><00> ;<3B>%<25>\<5C>^<5E>^<5E>5<>5<>7<>7<>*<2A>6<EFBFBD>2<>'<27>
<EFBFBD>3<>*<2A>=<3D>9<>%<25>h<EFBFBD>/<2F>#<23><0F><0F><06><02>3<>3<> <0E><0E>I<EFBFBD> <13>K<EFBFBD>K<EFBFBD>Z<>t<EFBFBD>z<EFBFBD>)<29>RW<52>/X<>/X<>/X<>Z<>Z<> [<5B> [<5B> [<5B> [<5B> [<5B><><18> ;<3B> ;<3B> ;<3B> <12>L<EFBFBD>L<EFBFBD>9<>a<EFBFBD>9<>9<> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A><><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD>s<00>B B <00>
B?<03>B:<03>:B?c<00>R<00> |d}|dkr|<00>|<01><00>d S|dkr|<00>|<01><00>d S|dkr|<00>|<01><00>d S|dkr|<00>|<01><00>d S|dkr|<00>|<01><00>d S|dkr|<00>|<01><00>d S|dkr|<00>|<01><00>d St<00>d |<02><00><02><00>d S#t$r(}t<00>
d
|<03><00><02><00>Yd }~d Sd }~wwxYw) u执行主动行动rErArOrbrlrrrvrxu未知的主动行动类型: u执行主动行动失败: N) <0B>_handle_system_health_warning<6E>_handle_alert_overflow<6F>_handle_workorder_backlog<6F>_handle_knowledge_quality_low<6F>_handle_low_satisfaction<6F>_handle_slow_response<73>_handle_high_error_raterrr%r&)rrzr<>r(s rr}z,AutoMonitorService._execute_proactive_actions<><00><00> ;<3B>%<25>f<EFBFBD>-<2D>K<EFBFBD><1A>5<>5<>5<><14>2<>2<>;<3B>?<3F>?<3F>?<3F>?<3F>?<3F><1C> 0<>0<>0<><14>+<2B>+<2B>K<EFBFBD>8<>8<>8<>8<>8<><1C> 3<>3<>3<><14>.<2E>.<2E>{<7B>;<3B>;<3B>;<3B>;<3B>;<3B><1C> 7<>7<>7<><14>2<>2<>;<3B>?<3F>?<3F>?<3F>?<3F>?<3F><1C> 2<>2<>2<><14>-<2D>-<2D>k<EFBFBD>:<3A>:<3A>:<3A>:<3A>:<3A><1C><0F>/<2F>/<2F><14>*<2A>*<2A>;<3B>7<>7<>7<>7<>7<><1C> 1<>1<>1<><14>,<2C>,<2C>[<5B>9<>9<>9<>9<>9<><16><0E><0E>L<>{<7B>L<>L<>M<>M<>M<>M<>M<><4D><18> ;<3B> ;<3B> ;<3B> <12>L<EFBFBD>L<EFBFBD>9<>a<EFBFBD>9<>9<> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A><><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD>s@<00>#C4<00>C4<00>C4<00>!C4<00>>C4<00>C4<00>8C4<00>C4<00>4
D&<03>>D!<03>!D&c<00>:<00>t<00>d<00><00>dS)u处理系统健康警告N<E5918A>rr$<00>rrzs rr<>z0AutoMonitorService._handle_system_health_warning-<00><00><00><0E> <0B> <0B>.<2E>/<2F>/<2F>/<2F>/<2F>/rc<00>:<00>t<00>d<00><00>dS)u处理预警溢出Nr<4E>r<>s rr<>z)AutoMonitorService._handle_alert_overflow2<00><00><00><0E> <0B> <0B>(<28>)<29>)<29>)<29>)<29>)rc<00>:<00>t<00>d<00><00>dS)u处理工单积压Nr<4E>r<>s rr<>z,AutoMonitorService._handle_workorder_backlog7r<>rc<00>:<00>t<00>d<00><00>dS)u处理知识库质量低Nr<4E>r<>s rr<>z0AutoMonitorService._handle_knowledge_quality_low<r<>rc<00>:<00>t<00>d<00><00>dS)u处理低满意度Nr<4E>r<>s rr<>z+AutoMonitorService._handle_low_satisfactionAr<>rc<00>:<00>t<00>d<00><00>dS)u处理响应慢Nr<4E>r<>s rr<>z(AutoMonitorService._handle_slow_responseFs<00><00><0E> <0B> <0B>%<25>&<26>&<26>&<26>&<26>&rc<00>:<00>t<00>d<00><00>dS)u处理高错误率Nr<4E>r<>s rr<>z*AutoMonitorService._handle_high_error_rateKr<>rc<00>n<00>|j|j|jr|j<00><00><00>nd|jd<02>S)u获取监控状态N)rrrrp)rrrr<>r)rs r<00>get_monitoring_statusz(AutoMonitorService.get_monitoring_statusPsD<00><00><1F>/<2F>"<22>1<>CG<43>CW<43>a<>t<EFBFBD>3<>=<3D>=<3D>?<3F>?<3F>?<3F>]a<><19>*<2A> 
<EFBFBD>
<EFBFBD>
r<00>intervalc<00><00> |dkrt<00>d<02><00>dS||_t<00>d|<01>d<05><03><00>dS#t$r(}t<00>d|<02><00><02><00>Yd}~dSd}~wwxYw) u更新检查间隔r2u检查间隔不能少于60秒Fu检查间隔已更新为 u 秒Tu更新检查间隔失败: N)rrrr$r%r&)rr<>r(s r<00>update_check_intervalz(AutoMonitorService.update_check_intervalYs<><00><00> <19><17>"<22>}<7D>}<7D><16><0E><0E>><3E>?<3F>?<3F>?<3F><1C>u<EFBFBD>"*<2A>D<EFBFBD> <1F> <12>K<EFBFBD>K<EFBFBD>B<>H<EFBFBD>B<>B<>B<> C<> C<> C<><17>4<EFBFBD><34><18> <19> <19> <19> <12>L<EFBFBD>L<EFBFBD>9<>a<EFBFBD>9<>9<> :<3A> :<3A> :<3A><18>5<EFBFBD>5<EFBFBD>5<EFBFBD>5<EFBFBD>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD> <19><><EFBFBD>s<00> A <00>%A <00>
A=<03>A8<03>8A=N) <20>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__r<00>boolr)r/r"r3r8r9r:r;r<r=r<00>strrrLr|r}r<>r<>r<>r<>r<>r<>r<>r<><00>intr<74><00>rrr
r
s}<00><00><00><00><00><00><1C><1C> 
<EFBFBD> 
<EFBFBD> 
<EFBFBD><19>t<EFBFBD><19><19><19><19>$ <19>d<EFBFBD> <19> <19> <19> <19><1F><1F><1F>"6<>6<>6<><A<01>A<01>A<01>$;<3B>;<3B>;<3B>$;<3B>;<3B>;<3B>4><3E>><3E>><3E>&><3E>><3E>><3E>&;<3B>;<3B>;<3B>8;<3B>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E>;<3B>;<3B>;<3B>;<3B>";<3B><14>c<EFBFBD>3<EFBFBD>h<EFBFBD><1E>;<3B>;<3B>;<3B>;<3B>$;<3B>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E>;<3B>;<3B>;<3B>;<3B>20<><14>c<EFBFBD>3<EFBFBD>h<EFBFBD><1E>0<>0<>0<>0<>
*<2A>$<24>s<EFBFBD>C<EFBFBD>x<EFBFBD>.<2E>*<2A>*<2A>*<2A>*<2A>
*<2A>T<EFBFBD>#<23>s<EFBFBD>(<28>^<5E>*<2A>*<2A>*<2A>*<2A>
0<><14>c<EFBFBD>3<EFBFBD>h<EFBFBD><1E>0<>0<>0<>0<>
*<2A>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD>*<2A>*<2A>*<2A>*<2A>
'<27><14>c<EFBFBD>3<EFBFBD>h<EFBFBD><1E>'<27>'<27>'<27>'<27>
*<2A>4<EFBFBD><03>S<EFBFBD><08>><3E>*<2A>*<2A>*<2A>*<2A>

<EFBFBD>t<EFBFBD>C<EFBFBD><13>H<EFBFBD>~<7E>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD> <19>c<EFBFBD> <19>d<EFBFBD> <19> <19> <19> <19> <19> rr
)r<><00>asyncio<69>loggingr r4rr<00>typingrrrrr<><00> getLoggerr<72>rr
r<>rr<00><module>r<>s<><00><01><04><04>
<0F><0E><0E><0E><0E><0E><0E><0E><10><10><10><10> <0B> <0B> <0B> <0B>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C> <0B> <0B> <0B> <0B> <1A><17> <1A>8<EFBFBD> $<24> $<24><06>T<19>T<19>T<19>T<19>T<19>T<19>T<19>T<19>T<19>Tr