跳转至

Schedules(调度(Schedules))

Schedules are used to run builds on a recurring basis to keep data flowing through Foundry consistently. In a schedule, the trigger defines the condition that must be satisfied for the associated build to be run.

When a trigger is satisfied and a build is performed, we say that the schedule is run. If a schedule is triggered while the previous run is still in action, then it will remain triggered and run only after the previous schedule is finished.

The run history provides a record of when a schedule was run and information about the task that was performed on each run. A schedule run can be one of a few types:

  • Succeeded. The run successfully initiated a build. Note that a successful run only indicates that the build was successfully started. The build itself may still be running, or may have failed.
  • Ignored. The run was attempted, but a build was not created. An ignored run likely indicates that everything is up-to-date and there was no work to do. See staleness for more details.
  • Failed. The schedule failed to run.

To learn more about schedules, refer to the following resources:

Find and manage schedules

Schedules can be edited, managed, and updated in the schedule sidebar of the Data lineage application. Workflows around finding schedules can be conducted in the Build schedules application available from your Apps sidebar. Queries that you can run include but are not limited to the following:

  • “Find paused schedules by a given user”
  • “Find schedules scoped to a certain project, filter by name, and sort by latest run”
  • “Find schedules with 'TESTING_PROJECT_1' in their name”
  • “Find paused schedules"

You can use the following search criteria:

  • Files: Find schedules by the datasets or other assets in Foundry that they build. If no branch is specified, the default branch will be used.
  • User: Find schedules last updated by the user(s) selected.
  • Projects: Find project-scoped schedules scoped to a specific project. User-scoped schedules are currently not supported in this parameter.

When arriving at the page you will initially see your own schedules. You can then filter schedules by name, pause or sort them. Search parameters are stored in the page link, allowing you to bookmark a page or share the link with other users.

The list of schedules can be further refined by Schedule name (if one is present on the schedule) and Pause status. It can also be sorted by Name, Creation date, Last run date, or Last update date of the schedule.

Pause a schedule

A schedule can be paused to temporarily prevent it from running.

When a schedule is paused, its trigger state is reset and all observed events are forgotten. While a schedule is paused, it cannot be triggered and will ignore all observed events.

A paused schedule can be resumed to allow it to begin running again.

Project scope

The datasets a schedule has permission to build is determined by whether a schedule is saved using the user's permissions to datasets or whether it is saved using the set of Projects containing the datasets being built. The former (user mode) is prone to unexpected changes if the permissions of the user change, since the schedule runs as if the user were running the build. The latter (Project-scoped mode) is more consistent, since the schedule is run independently of the user's permissions and only changes if the set of Projects the schedule is scoped to changes.


中文翻译

调度(Schedules)

调度(Schedules) 用于按周期性基准运行构建(builds),以保持数据在Foundry中持续流动。在调度中,触发器(trigger) 定义了必须满足的条件,以便执行关联的构建。

当触发器条件满足并执行构建时,我们称该调度被运行(run)。如果在前一次运行仍在进行时触发了新的调度,则该调度将保持触发状态,并仅在前一次调度完成后才执行。

运行历史记录提供了调度运行的时间记录,以及每次运行所执行任务的相关信息。调度运行可分为以下几种类型:

  • 成功(Succeeded)。运行成功启动了构建。请注意,成功运行仅表示构建已成功启动。构建本身可能仍在运行,也可能已失败。
  • 已忽略(Ignored)。已尝试运行,但未创建构建。已忽略的运行通常表示所有内容都是最新的,无需执行任何操作。有关更多详细信息,请参阅过时(staleness)
  • 失败(Failed)。调度运行失败。

要了解有关调度的更多信息,请参阅以下资源:

查找和管理调度

调度可以在数据沿袭(Data lineage)应用程序的调度侧边栏中进行编辑、管理和更新。有关查找调度的工作流程,可以在应用程序侧边栏中的构建调度(Build schedules) 应用程序中执行。您可以运行的查询包括但不限于以下内容:

  • "查找由特定用户暂停的调度"
  • "查找限定于特定项目的调度,按名称筛选,并按最近运行时间排序"
  • "查找名称中包含'TESTING_PROJECT_1'的调度"
  • "查找已暂停的调度"

您可以使用以下搜索条件:

  • 文件(Files): 通过调度所构建的数据集或其他Foundry资产来查找调度。如果未指定分支,将使用默认分支。
  • 用户(User): 查找由所选用户最后更新的调度。
  • 项目(Projects): 查找限定于特定项目的项目范围调度。此参数目前不支持用户范围调度。

进入页面时,您将首先看到自己的调度。然后,您可以按名称筛选调度、暂停或排序。搜索参数存储在页面链接中,允许您将页面添加为书签或与其他用户共享链接。

调度列表可以进一步通过调度名称(Schedule name)(如果调度上存在名称)和暂停状态(Pause status) 进行细化。还可以按调度的名称(Name)创建日期(Creation date)最后运行日期(Last run date)最后更新日期(Last update date) 进行排序。

暂停调度

调度可以被暂停(paused),以暂时阻止其运行。

当调度暂停时,其触发器状态会被重置,所有观察到的事件都会被遗忘。在调度暂停期间,它无法被触发,并将忽略所有观察到的事件。

已暂停的调度可以被恢复(resumed),以允许其重新开始运行。

项目范围(Project scope)

调度有权构建的数据集取决于调度是使用用户对数据集的权限保存,还是使用包含所构建数据集的项目(Projects) 集合保存。前者(用户模式)在用户权限发生变化时容易发生意外更改,因为调度运行时就像用户自己在运行构建一样。后者(项目范围模式)更加一致,因为调度的运行独立于用户的权限,并且仅当调度所限定的项目集合发生变化时才会改变。