<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Checkpoint on Tarragon</title><link>https://tarrragon.github.io/blog/tags/checkpoint/</link><description>Recent content in Checkpoint on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Thu, 21 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/checkpoint/index.xml" rel="self" type="application/rss+xml"/><item><title>Checkpoint</title><link>https://tarrragon.github.io/blog/ci/knowledge-cards/checkpoint/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/ci/knowledge-cards/checkpoint/</guid><description>&lt;p>Checkpoint 的核心概念是「保存可接續的處理進度」。它讓 &lt;a href="https://tarrragon.github.io/blog/ci/knowledge-cards/backfill/" data-link-title="Backfill" data-link-desc="說明資料處理與 migration 中如何受控補算歷史資料">Backfill&lt;/a> 與 &lt;a href="https://tarrragon.github.io/blog/ci/knowledge-cards/rerun/" data-link-title="Rerun" data-link-desc="說明 CI/CD 與 data pipeline 中重跑任務前需要判斷的輸出語意與副作用">Rerun&lt;/a> 可以從明確位置恢復，避免每次都從頭開始。&lt;/p>
&lt;h2 id="概念位置">概念位置&lt;/h2>
&lt;p>Checkpoint 位在長時間 job、stream processor、batch pipeline 與 migration 任務之間，常以 partition、offset、run id、cursor 或 processed marker 呈現。&lt;/p>
&lt;h2 id="可觀察訊號">可觀察訊號&lt;/h2>
&lt;ul>
&lt;li>任務執行時間長，失敗後需要接續。&lt;/li>
&lt;li>重跑同一區間可能造成重複寫入。&lt;/li>
&lt;li>streaming consumer 需要保存 offset 或 event position。&lt;/li>
&lt;/ul>
&lt;h2 id="接近真實服務的例子">接近真實服務的例子&lt;/h2>
&lt;p>資料回填每次處理一個日期 partition，完成後寫入 &lt;code>backfill_runs&lt;/code> 表。任務中斷時，下一次從最後成功 partition 的下一段開始。&lt;/p>
&lt;h2 id="設計責任">設計責任&lt;/h2>
&lt;p>Checkpoint 要定義進度格式、提交時機、失敗恢復、重跑覆寫與觀測欄位，讓長時間任務具備可恢復性。&lt;/p></description><content:encoded><![CDATA[<p>Checkpoint 的核心概念是「保存可接續的處理進度」。它讓 <a href="/blog/ci/knowledge-cards/backfill/" data-link-title="Backfill" data-link-desc="說明資料處理與 migration 中如何受控補算歷史資料">Backfill</a> 與 <a href="/blog/ci/knowledge-cards/rerun/" data-link-title="Rerun" data-link-desc="說明 CI/CD 與 data pipeline 中重跑任務前需要判斷的輸出語意與副作用">Rerun</a> 可以從明確位置恢復，避免每次都從頭開始。</p>
<h2 id="概念位置">概念位置</h2>
<p>Checkpoint 位在長時間 job、stream processor、batch pipeline 與 migration 任務之間，常以 partition、offset、run id、cursor 或 processed marker 呈現。</p>
<h2 id="可觀察訊號">可觀察訊號</h2>
<ul>
<li>任務執行時間長，失敗後需要接續。</li>
<li>重跑同一區間可能造成重複寫入。</li>
<li>streaming consumer 需要保存 offset 或 event position。</li>
</ul>
<h2 id="接近真實服務的例子">接近真實服務的例子</h2>
<p>資料回填每次處理一個日期 partition，完成後寫入 <code>backfill_runs</code> 表。任務中斷時，下一次從最後成功 partition 的下一段開始。</p>
<h2 id="設計責任">設計責任</h2>
<p>Checkpoint 要定義進度格式、提交時機、失敗恢復、重跑覆寫與觀測欄位，讓長時間任務具備可恢復性。</p>
]]></content:encoded></item></channel></rss>