# 计划安排的工作原理

> 计划、时间、更改、时段和运行：Metascheduler 背后的概念，以及每个时刻会发生什么。

文档 · 阅读约 3 分钟 · 更新于 2026年11月4日

## 基本构成

**计划**是日历上的一个条目。它包含名称、**时间**和**更改**列表。

**更改**是对一组项目的某一种编辑：“为这 140 个多属性减价 20%”，或“把主菜单换成黑色星期五菜单”。每项更改都包含：

- 一个**更改类型**，例如多属性价格或导航菜单（[所有类型](https://metascheduler.app/zh-CN/help/change-types.md)）；
- 它所更改的**项目**，例如产品、条目或菜单；
- 它在**开始**时做什么；
- **结束时**会发生什么：**还原**、**设为其他值**或**保留**。

更改按列出的顺序运行。

## 时间

> **试一试:** [计划如何运行](https://metascheduler.app/zh-CN/help/how-scheduling-works)

| 时间 | 何时运行 | 结束时 |
| --- | --- | --- |
| **一次性** | 在某个日期和时间运行一次。 | 无：更改保留，就像 Shopify 发布的正式发布。 |
| **时段** | 从开始到结束。 | 每项更改按其结束选择处理，就像 Shopify 发布的活动。 |
| **重复** | 每天、每周或每月出现的时段。 | 每个时段在各自的结束时还原。 |
| **跟随 Shopify 发布** | 当 Shopify 发布生效时。 | 当发布结束时，按您的选择处理。 |

每个计划都有自己的**时区**。时间会被精确存储，并按计划的时区显示。

## 状态

计划会依次经历这些状态：

1. **草稿**：正在设置中。它不会运行。
2. **已安排**：等待开始。
3. **生效中**：它的更改此刻正在生效。
4. **已结束**：它已运行，且没有更多待办事项。

您还可以**暂停**计划（不会有新的内容开始；已生效的内容仍会在结束时还原），或将其**归档**（它不会再运行；已生效的内容仍会还原）。已结束或已归档的计划无法编辑：选择**复制**即可再次运行。

## 开始时会发生什么

对每个项目，Metascheduler 会：

1. 读取当前的值并保存（快照）；
2. 写入新的值；
3. 保存它写入的内容。

如果项目已经是目标值，就不会写入。百分比始终基于保存的值计算，因此重试绝不会重复减价 20%。

## 结束时会发生什么

对每个项目，视该项更改的结束选择而定：

- **还原**：如果当前的值仍是 Metascheduler 写入的，它会改回保存的值。如果有人更改过，它不会动它，而是询问您。请参阅[还原的工作原理](https://metascheduler.app/zh-CN/help/undo-and-drift.md)。
- **设为其他值**：写入您选择的结束值。
- **保留**：什么也不做。

## 延迟运行

Metascheduler 会让每次开始和结束都准时运行一次。如果无法准时运行（例如 Shopify 出现故障），它会遵循这些规则：

| 情况 | 会发生什么 |
| --- | --- |
| 开始晚了不超过 5 分钟 | 照常运行。 |
| 开始晚得更多，但仍在其时段内 | 运行，并标记为**延迟**。 |
| 开始时其时段已经结束 | 跳过，并显示在**待您处理**中。它的结束会被取消。 |
| 结束，无论晚多久 | 始终运行。改回原样是更安全的方向。 |
| 晚了超过一天的一次性更改 | 在**待您处理**中等您决定：**立即运行**或**跳过**。 |

**立即运行**、**重试**和发布开始不受这些规则限制。

## 重试

当 Shopify 繁忙或无法连接时，Metascheduler 会等待后重试，最多 5 次，每次等待的时间更长。Shopify 拒绝的更改（不允许的值、已不存在的项目）不会重试：该项目会失败，其余项目继续，运行结果显示**部分完成**。

## 冲突

当两个计划在重叠的时间更改同一个项目时，编辑器会在**冲突**下列出它，日历也会标出两者。这是警告，而不是阻止：安全的还原规则会避免重叠的计划覆盖彼此的更改。

## 相关文章

- [还原的工作原理](https://metascheduler.app/zh-CN/help/undo-and-drift.md): Metascheduler 会保存被替换的内容，并在改回之前先检查，因此绝不会覆盖别人在此期间所做的编辑。
- [安排您的第一项更改](https://metascheduler.app/zh-CN/help/first-schedule.md): 创建一个有开始和结束时间的计划，添加一项更改，查看预览，然后安排它。
- [术语表](https://metascheduler.app/zh-CN/help/glossary.md): Metascheduler 使用的词语，以及您会在计划、运行和项目上看到的状态。
