如果多個批次編輯任務同時開始,會發生什麼事?
當多個任務排定在同一時間,或在相同商品上重疊時,會發生什麼事。
它們會依序處理
Section titled “它們會依序處理”應用程式會將每項變更以批次作業的形式傳送給 Shopify,而 Shopify 每間商店一次只執行一個批次作業。當多個任務同時開始時,每個任務都會等待前一個任務完成其步驟,因此工作實際上是排隊進行的。因此,任務可能會在 Pending execution 或 Running 狀態停留一段時間,才輪到它自己的商品被變更。
商品重疊:最後寫入者為準
Section titled “商品重疊:最後寫入者為準”每個任務都會根據開始時讀取的商品資料計算新的值,然後寫入。如果兩個任務變更相同商品上的同一欄位,最後寫入的任務會決定最終的值。第二個任務的「原始」值是第一個任務已寫入的內容,因此以錯誤的順序還原任務,可能會留下非預期的值。
建議
- 不要同時對相同的欄位和相同的商品執行兩個任務。請讓它們至少間隔幾分鐘排程,或將變更合併成一個任務。
- 依照任務執行順序的相反順序還原任務。
- 當任務處於 Running 或 Revert in progress 時,避免手動編輯商品。
同一個任務中的多個重複條件不得重疊,應用程式會在表單中強制執行這一點。相同商品上的兩個獨立重複任務則不會被檢查,請將它們視為任何兩個重疊的任務。