4 024 novembre 2 2on**:complétie dA) **Datestant IKiro (Assieur**: **Autiques --- problématn des edgesioentificats et idstique Stati'erreurs - rapports d etlég détailogginigentes - Lon intellrati de récupé- Stratégies reurser des automatiqueestion : - Gtor avecActionExecutégré dans ment inant pleinemaintenHandler est Error L'ès** ec succCOMPLÉTÉE av*Task 9.2 ultat ✅ *és### Rge edecs parge des éch- [x] Comptarreurs é des etaillLogging déques - [x] atistix st'accès au] Méthodes dk - [xbacec rollON_FAILED avPOSTCONDITI Gestion [x] -ytrOUND avec reGET_NOT_F Gestion TARback - [x] pour rolléesns enregistr- [x] Actioitialisé té et inndler imporErrorHas - [x] de Succè## Critèresidation #✅ Val ## --- teon complèatint: DocumeTask 9.6 urs - [ ] 'erreération dation récupsts d'intégrsk 9.5 : TeTa- [ ] rHandler Erroires unitaTests9.4 : - [ ] Task r deMatcheer dans Nor ErrorHandlIntégre Task 9.3 : - [ ]✅ionExecutor er dans Act ErrorHandlgrernté I.2 :sk 9 - [x] Tanes Étapes ai Proch ## 🔄 --- } ```"icke_cl": "moustion "ace_2", 1 -> nod: "node_"edge"": 1, tsovery_attemp}, "rec: null xt""target_te", tiony_acimar"prle": "target_ro { ils": "detaon", mary_actiri pd:not fount argege": "T "messa23456", 30.14:45:2024-11-24T1stamp": "", "timefoundot_get_narype": "tror_t, "er123456"_144530_41124und_202et_not_foarg: "t"error_id" `json { n` ``eport.jso_r123456/error_144530__20241124_not_foundtargetdata/errors/ier: `eur Fichpport d'Errle de Rampxe# E ``` ##1250.5ms)ess (pleted: succon comecutiFO: Ex, 320) INng at (450kiNFO: Clic823) Iilarity=0. elem_5 (simed: elementeedlback succlarity falVisual simiWARNING: n... iocutn exeng actiotryi) INFO: Reattempt 1/3allbacks (etry avec f: retry - Ry strategyercovFO: Rection INrimary_a found: p not456): Target0_123445324_111024ot_found_2_n=target_idfound (errorTarget not WARNING: node_2 _1 ->e: nodeg edgcutin Exe ``` INFO: vec Erreurde Log a### Exemple Générés 📝 Logs --- ##`` 3 échecs ` Au moins>= 3 #1] ic[0][emat probl > 0 asserttic)problemaert len(s() assgeatic_edget_problemecutor.= exematic ue probl problématiqqué commest maru'il er q# Vérifieate) en_stcrec_edge, slematirobge(pcute_edexer. executo range(5):s for _ inec échecs avoiurs fe plusie edguter le mêmexéchon # E ```pytes roblématiques P 3: Edg ### Testts'] ``` error_couns['tat in sd'tion_failestcondi assert 'potistics()et_error_staexecutor.gstats = e riquhistofier l' # VériEDAILTION_FSTCONDIPOutionStatus.Exec == t.statussert resulnté ask a été tebacollue rérifier qte) # Vn_staion, screeitostconddge_with_pdge(ecute_eexeexecutor.= result onditions post-cles choue on qui éctier une an # Exécut ```pythoc Rollbackled avetion Faist-Condiest 2: Po T` ###``] > 0 tal_errors'ts['totassert s) atatistics(.get_error_sutorecs = ex stattatistiqueses sier lif # VérFOUND] NOT_tus.TARGET_utionStaCESS, ExecUCtus.SnStaExecutioatus in [ result.stsertasé tenté y a étue retrVérifier q# te) stascreen_et, alid_targwith_inv_edge(edge_uteor.execlt = executide resuget invalarn avec tr une actioxécute # Eecutor()ionExcutor = Act exeorHandler Err avecionExecutorun Act# Créer python ``etry ` Recound av Not F Target 1:# Testdés ##s Recomman🧪 Test ## --- ```utionResult Return Exec │ └─> <─┘n()iost_actllback_la └─> ro │ │ rategy ROLLBACK st └─> │ n_failure()nditiotcohandle_pos └─> │ │ ─> FAILED? │ └ │ │ │ │ ions() onditverify_postc ├─> _ │ │ │ SUCCESS └─>│ │ │ etry) │() (rte_actionexecu└─> _ │ │ │ rategy ETRY st └─> R│ │ nd() t_not_foundle_targeha └─> │ │ │ D? T_NOT_FOUNRGE ├─> TA │ │ │ │ │ n()te_actiocu├─> _exe │ ─┐ │──────────────n() ─────record_actio ├─> │ute_edge() exec``` rorHandlertion avec ErExécu 📊 Flux d'-- ##s -erreurlet des rique comptoes - Hisématiques probldgon des eficati - Identireur type d'erge par Compta** -'Erreursues dStatistiq 4. ** d'échec lback en casPermet rolion - aque actavant ch - État nsières actioes 10 dern dstorique - Hions** nt des Actiegistreme 3. **Enr blématiquess proage des edgeMarqu - lback u rolretry oégie de trat - Sreenshot ging avec sc - Logetiquomaétection auted** - Ddition Failst-Con2. **Poe cs par edges éche dptage- Comcks allbaretry avec fe de - Stratégicontexte é avec détaillgingLog - omatique n aut - Détectiound** et Not Fo**Targ1. s es Erreuratique dstion Autom## Ge #joutéestés Aionnali ## 🎯 Fonct-- ` -ges() ``edmatic__probledler.gethanf.error_ selurn"" rettiques."roblémadges pliste des eObtenir la """ t]]: [str, in> List[Tuplef) -dges(selmatic_eproble def get_stics() or_statier.get_errror_handl.ern selfetur r"ndler.""ErrorHapuis l'eurs de d'errstatistiquesbtenir les """OAny]: ct[str, -> Dielf)atistics(sor_stdef get_errhon ```pytesx Statistiqucès aues d'Ac 6. Méthod ``` ###")message}ck_result.rollbalt: {resuRollback nfo(f"r.i loggeion() t_actrollback_lasr_handler. = self.errosultrollback_re CK: LBAegy.ROLyStrat== Recoverategy_used y.str if recovermandé k si recomer rollbacqu Appli # e}").messagcovery- {resed.value} gy_uvery.strateecotrategy: {r"Recovery so(fr.inf logge) ut_ms eotimefault_ut_ms=self.dimeon_state, tree scedge, n_failure(stconditioer.handle_podl.error_hanlf= secovery er reorHandlavec Errtion condist- échec de po # Gérer isfied"sats not dition"Post-conage = .mess resultD ITION_FAILEOSTCONDtus.PExecutionStalt.status = resu_state):e, screenitions(edgy_postcondifelf._ver not s``python if `snditionst-Coecs de Pos Éch Gestion de### 5. ``` )xt, edgente_state, coreene.action, scion(edgute_act_execself.esult = r.") n..utioction execng afo("Retryi.inogger: lRYy.RETrategyStver= Recod =_usetegyery.stra if recovtry retion sipérae récuie dégratpliquer st # Ap essage}") ry.mcove - {resed.value}strategy_ury.cove: {reery strategyovfo(f"Rec logger.in ge )tate, ed, screen_sdge.action eot_found( et_n_targndler.handleha self.error_ecovery =D: rET_NOT_FOUNtatus.TARGionS == Executesult.statusthon if r ```pyOUND_F_NOTreurs TARGETon des Er 4. Gesti###te) ``` reen_staaction, scn(edge.ecord_actioor_handler.rf.errl seltentieollback poion pour r avant l'actl'étatrer stEnregi``python # : `ge()`te_edexecuans `llback D Roours Actions pstrement deegi 3. Enr ### ``` rHandler()r Erro_handler or = errorndle.error_ha: self )True= ol nditions: boy_postco verif5000, _ms: int = eoutault_timdef VEAU # ✨ NOUr] = None,andleErrorHnal[tior: Opandleror_h er e,er] = NonolvgetResOptional[Tart_resolver: targef,( sel __init__ def```pythoncteur e Construout dans l 2. Aj ###` ``trategyrySType, Recove, ErrorrrorHandlerimport Endler error_ham .python frondler ``` l'ErrorHaport deIm ### 1. portéesApions catModifi--- ## ✅ on. pératicugies de réc straténs ave'actioion drs d'exécutes erreutiquement lomar autpour géreutor ionExec Actdler dansHaner l'Errorgrif Intéject ## 📋 Ob --- COMPLÉTÉ ✅ tatut**:24 **Sbre 20eme**: 24 novat **D✅ r cutoxenEtioer dans AcrHandlroégration ErntTask 9.2 - I#