Běh synchronizace se může zastavit v polovině, protože se restartuje worker, druhý systém nefunguje nebo je záznam odmítnut. Po zastaveném workeru nebo krátkém výpadku Tajo synchronizaci samo znovu převezme. Záznamy, které zapsalo za posledních sedm dní, znovu neodesílá. Tato stránka popisuje, co Tajo dělá, co uvidíte na stránce synchronizace a několik málo případů, kdy musíte jednat.
Rychlá kontrola Otevřete synchronizaci v Syncs and mappings v sekci Connections a přečtěte si nejnovější běh v Run history. Neúspěšný běh uvádí, co se stalo a co dělat dál.
Co Tajo udělá samo
Kurzor. Běh čte svůj zdroj po dávkách od uloženého kurzoru synchronizace. Kurzor se na konci dávky posune jen tehdy, když dorazily všechny záznamy v této dávce. Pokud běh selže, zůstane zachována poslední pozice, kterou bez chyby dosáhl. Další běh začne tam, takže přerušená dávka se přečte znovu a nepřeskočí se.
Doručovací záznam. Než se záznam zapíše, dostane doručovací klíč. Klíč je hash synchronizace, zdroje, kurzoru stránky, pozice záznamu na stránce a samotného záznamu, takže neobsahuje žádné osobní údaje. Než se zavolá cíl, klíč se zarezervuje. Když zápis uspěje, klíč se označí jako dokončený a uchová se sedm dní. Klíč nezávisí na tom, který běh se ptá, takže opakovaný pokus nebo pozdější plánovaný běh odvodí pro stejný záznam stejný klíč. Během těchto sedmi dní se použije uložený výsledek a cíl se znovu nevolá. Proto přehraná dávka nedorazí dvakrát.
Vždy jen jeden běh. Každá synchronizace má jeden lease, který drží probíhající běh po celou dobu svého trvání. Lease má vlastní token a životnost 15 minut a obnovuje se každých 5 minut, dokud běh pracuje. Běh, který svůj lease ztratí, se zastaví před dalším zápisem nebo kontrolním bodem, aby nezapsal dvakrát. Když se worker zastaví, jeho lease se přestane obnovovat a do 15 minut vyprší.
Automatické opakování. Běh z fronty, který selže, dostane až pět pokusů. Tajo čeká 60 sekund před druhým pokusem, pak 120, 240 a 480 sekund. Opakování nebo testovací běh, který spustíte sami, proběhne jednou. Běh, který narazil na jiný již probíhající běh, se neopakuje. Neopakuje se ani běh, jehož publikovaná verze nebo připojení už nejsou platné.
Zaseknuté běhy. U synchronizace, kterou Tajo spouští podle plánu, se běh uzavře a do fronty se zařadí nový, jakmile začal před více než hodinou a už nedrží svůj lease. Uzavřený běh zobrazí “The run stopped reporting progress and was closed.” Lease zastaveného běhu tedy trvá nejvýše 15 minut a zaseknutý běh plánované synchronizace se po hodině nahradí. Které synchronizace běží podle plánu, uvádí Pochopení synchronizace dat Shopify s Brevo.
Pozastavení po opakovaných selháních. Pokud posledních pět dokončených běhů od poslední změny synchronizace selhalo, Tajo synchronizaci pozastaví. Její stránka zobrazí “Paused automatically by the failure circuit breaker” s poslední chybou. Jeden úspěšný běh počítadlo vynuluje. Pozastavenou synchronizaci nic samo znovu nespustí: zůstane pozastavená, dokud neopravíte příčinu a znovu ji nepublikujete.
Hodinová kontrola. Každou hodinu, vždy 13 minut po celé, upozorní Tajo svůj vlastní tým na každý workspace s aktivní synchronizací, který za posledních 24 hodin nemá žádný úspěšný běh. Patří sem i workspace, ve kterém nebyl zaznamenán vůbec žádný běh. Upozornění se odešle jednou a znovu až poté, co nějaký běh uspěje. Workspace, jehož nejstarší aktivní synchronizace byla zapnuta nebo změněna před méně než 24 hodinami, se zatím nekontroluje. Toto upozornění dostává Tajo, ne Vy, a Vaši synchronizaci nijak nemění.
Co uvidíte
Otevřete synchronizaci v Syncs and mappings. Run history uvádí každý běh s počtem zapsaných z přečtených záznamů, počtem selhání, dobou trvání a časem spuštění. Jeho stav je Queued, Running, Succeeded, Partial (některé záznamy selhaly) nebo Failed.
- Probíhající běh, který 2 minuty nenahlásil průběh, zobrazí “Waiting for a fresh progress update”.
- Neúspěšný běh zobrazí jednu větu o tom, co se stalo, jednu o tom, co dělat dál, název selhání a id běhu.
- View DLQ na stránce Syncs uvádí neúspěšné a částečné běhy všech synchronizací, každý s tlačítkem Retry.
Co dělat
- Přečtěte si nejnovější neúspěšný běh. Jeho řádek „co dělat“ je dalším krokem. Tabulka níže uvádí selhání, se kterými se setkáte nejspíš.
- Pokud uvádí “Nothing”, počkejte. Další plánovaný běh se zotaví sám.
- Pokud uvádí, že máte synchronizaci spustit znovu, stiskněte Retry u neúspěšného běhu v View DLQ. Opakování začne od uloženého kurzoru, takže už zapsané dávky se znovu nezapíšou. Úspěšné opakování odstraní neúspěšný běh ze seznamu.
- Pokud byla synchronizace pozastavena, opravte příčinu, kterou banner uvádí, a poté synchronizaci znovu publikujte pomocí Publish sync nebo Request publish approval.
- Pokud se stejné selhání vrací, pošlete nám id běhu uvedené pod neúspěšným během.
Ke každému názvu selhání patří jedna věta o tom, co se stalo, jedna o tom, co dělat dál, a kdo ho opraví: Vy, nebo Tajo.
| Název selhání | Co se stalo | Co dělat | Kdo to opraví |
|---|---|---|---|
lease_conflict | Jiný běh této synchronizace už probíhal. | Nic. Probíhající běh doběhne; další plánovaný běh začne normálně. | Tajo |
lease_lost | Běh v průběhu ztratil svůj slot a zastavil se, aby nezapsal dvakrát. | Spusťte synchronizaci znovu. | Tajo |
lease_unavailable | Synchronizace si nemohla zarezervovat slot pro běh. | Spusťte synchronizaci znovu. Pokud selže stejně, pošlete nám id běhu. | Tajo |
stale_job_swept | Běh přestal hlásit průběh a byl uzavřen. | Spusťte synchronizaci znovu. | Tajo |
provider_rate_limited | Druhý systém nás požádal o zpomalení. | Nic. Počkejte na další plánovaný běh. | Tajo |
provider_unavailable | Druhý systém nebyl dostupný nebo neodpověděl včas. | Nic. Počkejte na další plánovaný běh. Pokud selhává stejně celý den, pošlete nám id běhu. | Tajo |
connection_missing | Nástroj, který synchronizace používá, není v tomto workspace připojen; běh ho uvádí. | Připojte ho a poté spusťte synchronizaci znovu. | Vy |
connection_unauthorized | Druhý systém odmítl náš přístup. | Obnovte připojení, aby získalo novou autorizaci, a poté spusťte synchronizaci znovu. | Vy |
destination_rejected | Cíl odmítl všechny záznamy tohoto běhu. | Zkontrolujte mapování polí vůči povinným polím a formátům cíle a poté spusťte synchronizaci znovu. | Vy |
node_failed | Krok synchronizace selhal při čtení, transformaci nebo zápisu záznamů. | Otevřete běh, abyste viděli, který krok selhal a proč, opravte to a poté spusťte synchronizaci znovu. | Vy |
attestation_rule_not_active | Tato synchronizace je pozastavená. | Obnovte synchronizaci, abyste ji mohli spustit. | Vy |
attestation_publication_not_attested | Tato verze synchronizace nebyla publikována. | Publikujte synchronizaci. Změny synchronizace se nespustí, dokud nejsou publikovány. | Vy |
unclassified_exception | Synchronizace selhala z důvodu, který jsme zatím nezařadili. | Spusťte synchronizaci znovu. Pokud selže stejně, pošlete nám id běhu. | Tajo |
Co se může pokazit
- Retry odpoví “This sync rule is already running.” Opakování nebo testovací běh, který spustíte, se odmítne, dokud se některý běh synchronizace zobrazuje jako Queued nebo Running, včetně běhu, jehož worker se zastavil. U synchronizace, kterou Tajo spouští podle plánu, se tento běh uzavře a nahradí, jakmile začal před více než hodinou. U jakékoli jiné synchronizace nám pošlete id běhu.
- Synchronizace selhává déle než sedm dní. Po sedmi dnech doručovací záznam dokončený zápis zapomene. Dávka přehraná poté může záznamy zapsat znovu, proto zkontrolujte, zda cíl neobsahuje duplicitní kontakty.
- Jedna synchronizace mlčí, zatímco jiná funguje. Hodinová kontrola sleduje workspace, ne jednotlivé synchronizace. Jedna zdravá synchronizace zakryje mlčící synchronizaci ve stejném workspace, proto si přečtěte Run history každé synchronizace.
- Chcete jiné limity. Pozastavení po pěti selháních a 24hodinová kontrola jsou nastaveny pro celou instalaci Tajo, ne pro jednotlivé synchronizace.