# 排程的運作方式

> 排程、時間安排、變更、期間和執行：Metascheduler 背後的概念，以及每個時間點會發生什麼事。

文件 · 閱讀約 3 分鐘 · 更新於 2026年11月4日

## 基本元素

**排程**是日曆上的一個項目，包含名稱、**時間安排**和一份**變更**清單。

**變更**是對一組項目進行的一種編輯：「將這 140 個子類打八折」，或「將主選單換成黑色星期五選單」。每項變更包含：

- 一個**變更類型**，例如子類價格或導覽選單 ([所有類型](https://metascheduler.app/zh-TW/help/change-types.md))；
- 它所變更的**項目**，例如產品、項目或選單；
- 它在**開始**時做什麼；
- **結束時**會發生什麼：**還原**、**設為其他值**或**保留**。

變更會依清單中的順序執行。

## 時間安排

> **試用看看:** [排程的執行方式](https://metascheduler.app/zh-TW/help/how-scheduling-works)

| 時間安排 | 執行時機 | 結束時 |
| --- | --- | --- |
| **單次** | 在某個日期和時間執行一次。 | 沒有動作：變更會保留，類似 Rollouts 的「上線」。 |
| **期間** | 從開始到結束。 | 每項變更依其結束選項處理，類似 Rollouts 的「活動」。 |
| **重複** | 每日、每週或每月重複的期間。 | 每個期間在各自結束時還原。 |
| **跟隨推出** | Shopify 推出進入使用中時。 | 推出結束時，依您的選擇處理。 |

每個排程都有自己的**時區**。時間會被精確地儲存，並以排程的時區顯示。

## 狀態

排程會依序經過下列狀態：

1. **草稿**：正在設定中，絕不會執行。
2. **已排程**：等待開始。
3. **生效中**：變更目前正在套用。
4. **已結束**：已執行完畢，沒有其他待辦事項。

您也可以**暫停**排程 (不會開始任何新的變更；生效中的變更仍會在結束時還原)，或**封存**排程 (不會再執行；生效中的變更仍會還原)。已結束或已封存的排程無法編輯：請選取**複製**，即可再次執行。

## 開始時會發生什麼事

對於每個項目，Metascheduler 會：

1. 讀取目前的值並儲存 (快照)；
2. 寫入新的值；
3. 儲存它寫入的內容。

如果項目已經是該值，就不會寫入任何內容。百分比一律以儲存的值計算，因此重試絕不會打兩次八折。

## 結束時會發生什麼事

對於每個項目，依變更的結束選項而定：

- **還原**：如果目前的值仍是 Metascheduler 寫入的，就放回儲存的值。如果有人改動過，就不會動它，並詢問您。請參閱[還原的運作方式](https://metascheduler.app/zh-TW/help/undo-and-drift.md)。
- **設為其他值**：寫入您選擇的結束值。
- **保留**：不做任何事。

## 逾期的執行

Metascheduler 會準時執行每一次開始和結束，且各執行一次。如果無法準時執行 (例如 Shopify 當機)，則依下列規則處理：

| 情況 | 處理方式 |
| --- | --- |
| 開始時間晚了最多 5 分鐘 | 正常執行。 |
| 開始時間晚得更久，但仍在期間內 | 執行，並標示為**逾期**。 |
| 開始時，其期間已經結束 | 略過，並顯示在**待您處理**中。其結束也會取消。 |
| 結束，不論晚了多久 | 一律執行。放回原狀是較安全的方向。 |
| 單次變更逾期超過一天 | 在**待您處理**中等待您：**立即執行**或**略過**。 |

**立即執行**、**重試**和推出的開始不受這些規則限制。

## 重試

當 Shopify 忙碌或無法連線時，Metascheduler 會等待後再試，最多 5 次，每次等待的時間會更長。Shopify 拒絕的變更 (不允許的值、已不存在的項目) 不會重試：該項目會失敗，其餘繼續執行，並且執行結果會顯示**部分完成**。

## 衝突

當兩個排程在重疊的時間變更同一個項目時，編輯器會在**衝突**下列出，日曆也會標示這兩個排程。這是警告，而不是阻擋：安全的還原規則可避免重疊的排程覆蓋彼此的變更。

## 相關文章

- [還原的運作方式](https://metascheduler.app/zh-TW/help/undo-and-drift.md): Metascheduler 會儲存被取代的內容，並在放回去之前先檢查，因此絕不會覆蓋期間內其他人所做的編輯。
- [排定您的第一項變更](https://metascheduler.app/zh-TW/help/first-schedule.md): 建立一個有開始和結束時間的排程、新增變更、檢查預覽，然後排定。
- [詞彙表](https://metascheduler.app/zh-TW/help/glossary.md): Metascheduler 使用的詞彙，以及您會在排程、執行和項目上看到的狀態。
