Bed om tidlig adgang til Tajo

Indtast dit fornavn og din e-mailadresse. Vi sender dig et link til at bekræfte din anmodning om adgang til Tajo.

Begynder 6 min

Genopret en synkronisering, der sidder fast eller er fejlet

Hvad Tajo selv gør, når en worker stopper, eller en kørsel fejler, hvad synkroniseringens side viser, og hvornår du skal handle: prøve igen, forbinde igen, rette mappingen eller offentliggøre igen.

En synkroniseringskørsel kan stoppe halvvejs, fordi en worker genstarter, det andet system er nede, eller en post bliver afvist. Efter en stoppet worker eller et kortvarigt nedbrud genoptager Tajo selv synkroniseringen. Poster, som den har skrevet inden for de seneste syv dage, sender den ikke igen. Denne side beskriver, hvad Tajo gør, hvad du ser på synkroniseringens side, og de få tilfælde, hvor du skal handle.

Hurtigt tjek Åbn synkroniseringen fra Syncs and mappings under Connections, og læs den nyeste kørsel i Run history. En fejlet kørsel fortæller, hvad der skete, og hvad du skal gøre nu.

Hvad Tajo gør af sig selv

Cursoren. En kørsel læser sin kilde i batches fra synkroniseringens gemte cursor. Cursoren rykker kun frem ved slutningen af en batch, når alle poster i den batch er nået frem. Hvis kørslen fejler, bevares den seneste position, den nåede uden fejl. Den næste kørsel starter der, så en afbrudt batch læses igen i stedet for at blive sprunget over.

Leveringsloggen. Før en post skrives, får den en leveringsnøgle. Nøglen er en hash af synkroniseringen, kilden, sidens cursor, postens placering på siden og selve posten, så den indeholder ingen personoplysninger. Før destinationen kaldes, reserveres nøglen. Når skrivningen lykkes, markeres nøglen som gennemført og gemmes i syv dage. Nøglen afhænger ikke af, hvilken kørsel der spørger, så et genforsøg eller en senere planlagt kørsel udleder den samme nøgle for den samme post. Inden for de syv dage bruges det gemte resultat, og destinationen kaldes ikke igen. Derfor lander en gentaget batch ikke to gange.

Én kørsel ad gangen. Hver synkronisering har én lease, som den igangværende kørsel holder i hele sin levetid. Leasen har sit eget token og en levetid på 15 minutter, og den fornyes hvert 5. minut, mens kørslen arbejder. En kørsel, der mister sin lease, stopper før sin næste skrivning eller checkpoint for ikke at skrive to gange. Når en worker stopper, fornyes dens lease ikke længere, og den udløber inden for 15 minutter.

Automatiske genforsøg. En kørsel i køen, der fejler, får op til fem forsøg. Tajo venter 60 sekunder før andet forsøg og derefter 120, 240 og 480 sekunder. Et genforsøg eller en testkørsel, som du selv starter, kører én gang. En kørsel, der stødte sammen med en kørsel, som allerede var i gang, prøves ikke igen. Det gør en kørsel heller ikke, hvis dens offentliggjorte version eller forbindelser ikke længere er gyldige.

Kørsler, der sidder fast. For en synkronisering, som Tajo kører efter en tidsplan, lukkes en kørsel, og en ny sættes i kø, når den startede for over en time siden og ikke længere holder sin lease. Den lukkede kørsel viser “The run stopped reporting progress and was closed.” En stoppet kørsels lease varer altså højst 15 minutter, og en planlagt synkroniserings fastlåste kørsel erstattes efter en time. Forstå Shopify-datasynkronisering med Brevo viser, hvilke synkroniseringer der kører efter en tidsplan.

Pause efter gentagne fejl. Hvis de seneste fem afsluttede kørsler, siden synkroniseringen sidst blev ændret, alle er fejlet, sætter Tajo synkroniseringen på pause. Dens side viser “Paused automatically by the failure circuit breaker” med den seneste fejl. Én vellykket kørsel nulstiller tællingen. Intet starter en synkronisering på pause igen af sig selv: den forbliver på pause, indtil du retter årsagen og offentliggør den igen.

Den timevise kontrol. Hver time, 13 minutter over hel, advarer Tajo sit eget team om ethvert workspace med en aktiv synkronisering og ingen vellykket kørsel inden for de seneste 24 timer. Det gælder også et workspace, hvor der slet ikke er registreret nogen kørsel. Advarslen sendes én gang og sendes først igen, når en kørsel er lykkedes. Et workspace, hvis ældste aktive synkronisering blev aktiveret eller ændret for mindre end 24 timer siden, kontrolleres ikke endnu. Denne advarsel går til Tajo, ikke til dig, og den ændrer ikke din synkronisering.

Hvad du ser

Åbn synkroniseringen fra Syncs and mappings. Run history viser hver kørsel med skrevne ud af læste poster, antallet af fejl, varigheden og hvornår den startede. Dens status er Queued, Running, Succeeded, Partial (nogle poster fejlede) eller Failed.

  • En igangværende kørsel, der ikke har meldt fremskridt i 2 minutter, viser “Waiting for a fresh progress update”.
  • En fejlet kørsel viser én sætning om, hvad der skete, én om, hvad du skal gøre nu, fejlens navn og kørslens id.
  • View DLQ på siden Syncs viser fejlede og delvise kørsler på tværs af alle synkroniseringer, hver med en Retry-knap.

Hvad du skal gøre

  1. Læs den nyeste fejlede kørsel. Dens linje om, hvad du skal gøre, er det næste skridt. Tabellen nedenfor viser de fejl, du mest sandsynligt møder.
  2. Hvis der står “Nothing”, så vent. Den næste planlagte kørsel kommer sig af sig selv.
  3. Hvis der står, at du skal køre synkroniseringen igen, så tryk på Retry ved den fejlede kørsel under View DLQ. Genforsøget starter fra den gemte cursor, så batches, der allerede er skrevet, skrives ikke igen. Et vellykket genforsøg fjerner den fejlede kørsel fra listen.
  4. Hvis synkroniseringen blev sat på pause, så ret den årsag, banneret nævner, og offentliggør derefter synkroniseringen igen med Publish sync eller Request publish approval.
  5. Hvis den samme fejl kommer igen, så send os kørslens id, som står under den fejlede kørsel.

Hvert fejlnavn hører til én sætning om, hvad der skete, én om, hvad du skal gøre nu, og hvem der retter det: dig eller Tajo.

FejlnavnHvad der sketeHvad du skal gøreHvem retter det
lease_conflictEn anden kørsel af denne synkronisering var allerede i gang.Intet. Den igangværende kørsel bliver færdig; den næste planlagte kørsel starter normalt.Tajo
lease_lostKørslen mistede sin plads undervejs og stoppede for ikke at skrive to gange.Kør synkroniseringen igen.Tajo
lease_unavailableSynkroniseringen kunne ikke reservere sin kørselsplads.Kør synkroniseringen igen. Hvis den fejler på samme måde, så send os kørslens id.Tajo
stale_job_sweptKørslen holdt op med at melde fremskridt og blev lukket.Kør synkroniseringen igen.Tajo
provider_rate_limitedDet andet system bad os sætte tempoet ned.Intet. Vent på den næste planlagte kørsel.Tajo
provider_unavailableDet andet system var utilgængeligt eller svarede ikke i tide.Intet. Vent på den næste planlagte kørsel. Hvis den fejler på samme måde i et døgn, så send os kørslens id.Tajo
connection_missingEt værktøj, som synkroniseringen bruger, er ikke forbundet i dette workspace; kørslen nævner det.Forbind det, og kør derefter synkroniseringen igen.Dig
connection_unauthorizedDet andet system afviste vores adgang.Genopret forbindelsen, så den får en ny autorisation, og kør derefter synkroniseringen igen.Dig
destination_rejectedDestinationen afviste alle poster i denne kørsel.Tjek feltmappingen mod destinationens obligatoriske felter og formater, og kør derefter synkroniseringen igen.Dig
node_failedEt trin i synkroniseringen fejlede under læsning, omformning eller skrivning af poster.Åbn kørslen for at se, hvilket trin der fejlede og hvorfor, ret det, og kør derefter synkroniseringen igen.Dig
attestation_rule_not_activeDenne synkronisering er sat på pause.Genoptag synkroniseringen for at køre den.Dig
attestation_publication_not_attestedDenne version af synkroniseringen er ikke offentliggjort.Offentliggør synkroniseringen. Ændringer i en synkronisering kører først, når de er offentliggjort.Dig
unclassified_exceptionSynkroniseringen fejlede af en årsag, vi endnu ikke har klassificeret.Kør synkroniseringen igen. Hvis den fejler på samme måde, så send os kørslens id.Tajo

Hvad der kan gå galt

  • Retry svarer “This sync rule is already running.” Et genforsøg eller en testkørsel, du starter, afvises, så længe en kørsel af synkroniseringen står som Queued eller Running, også en kørsel, hvis worker er stoppet. For en synkronisering, som Tajo kører efter en tidsplan, lukkes og erstattes den kørsel, når den startede for mere end en time siden. For enhver anden synkronisering skal du sende os kørslens id.
  • En synkronisering har fejlet i mere end syv dage. Efter syv dage glemmer leveringsloggen en gennemført skrivning. En batch, der gentages derefter, kan skrive poster igen, så tjek destinationen for dublerede kontakter.
  • Én synkronisering er tavs, mens en anden virker. Den timevise kontrol overvåger workspacet, ikke hver enkelt synkronisering. Én sund synkronisering skjuler en tavs i samme workspace, så læs hver synkroniserings Run history.
  • Du vil have andre grænser. Pausen efter fem fejl og 24-timers-kontrollen er fastsat for hele Tajo-installationen, ikke pr. synkronisering.

Relaterede artikler

Denne side som Markdown: recover-a-stuck-or-failed-sync.md

Indlæser Markdown …
Åbn i Claude Åbn i ChatGPT