Skip To Content

使用 ArcGIS Notebooks 自动化工作流

ArcGIS Notebook Server允许您实现多种工作流自动化方法,实现途径包括计划的笔记本、webhook 和您的使用“执行笔记本”管理 API 的自定义脚本。

注:

要使用计划任务、webhook 或“运行 Notebook”API 自动化笔记本,笔记本必须使用 3.0 或更高版本的运行时。

计划笔记本任务

Notebook 作者可以计划 ArcGIS Notebooks,以便在未来的某个固定时间自动运行一次或重复运行。 通过创建任务来计划笔记本,可供自动执行常规工作流、在非高峰时段运行数据密集型过程以及定期更新数据集。 例如,可以计划笔记本以执行以下操作:

  • 从每月更新一次的在线源导入数据,自动清除数据并应用必要的转换,然后将数据移至您的工作空间
  • 当计算机资源未被使用时,在夜间运行需要强大处理能力的大数据分析工作流
  • 管理过去一周内在组织中创建了账户的用户,并在电子邮件中将列表发送给您

您可以为 notebook 创建一个或多个任务。 默认情况下,notebook 创作者或管理员最多可以创建 20 个任务。 如果笔记本的所有权发生变化,与该所有权相关联的任何任务都将取消激活并分配给新的所有者。

您可通过计划任务参数化 notebook。 Notebook 参数化后,您可以写入通用代码,无需您的交互即可适应不同的输入。 运行任务时,所选参数会插入到 notebook 中,并且可以选择将其保存到 notebook。 例如,参数化 notebook 可用于定期生成区域范围内的空气污染报告。 Notebook 可以有多个计划任务,每个要研究的区域使用一个任务,并且对于每个任务,可以将城市名称和污染类型等参数化输入送入 notebook。

注:

同时运行的笔记本任务数量受限于 Notebook Server 中的 maxExecuteNotebookContainersPerNode 系统属性。

您可以将任务配置为在完成后将 notebook 的状态保存到原始 notebook 项目中。

将为每个运行的计划任务保存 notebook 的静态 HTML 视图。

使用 ArcGIS Notebook Server 主页中的管理任务窗口或 ArcGIS Notebook Server 管理器中的任务页面,管理员可以查看详细信息、编辑、暂停和恢复或删除站点中的每个活动 notebook 任务。 具有计划笔记本权限的管理员和笔记本作者可以在笔记本的详细信息页面或笔记本编辑器的任务窗格中查看详细信息,或者编辑、暂停/恢复或删除笔记本任务。

如果任务之前的运行仍在继续,则将跳过新的计划任务运行。 例如,如果某个任务计划每 15 分钟运行一次,但该任务的一个实例运行了 20 分钟,则将跳过下一次计划运行。 如果这种情况经常发生,任务所有者应该调整计划的时间间隔,以便运行之间没有重叠。

有关计划的 notebook 任务的详细信息,请参阅计划 notebook 任务帮助主题。

计划任务限制

与计划的笔记本任务相关,存在某些用户、组织和 ArcGIS Notebook Server 站点(计算机)级别限制。

更改自动化笔记本同时运行的最大数量 (maxExecuteNotebookContainersPerNode)

当笔记本通过计划任务、webhook 或执行笔记本 API 运行时,ArcGIS Notebook Server会自动打开一个新容器并在没有用户交互的情况下运行笔记本。 默认情况下,ArcGIS Notebook Server配置为每台 Notebook Server 计算机最多同时支持 10 个笔记本并行运行。 考虑到 Notebook Server 站点中每台计算机上可用的资源(CPU 和 RAM),管理员可以通过修改 Notebook Server 中的 maxExecuteNotebookContainersPerNode 系统属性来调整限制。 超过此限制后提交的任何自动化 notebook 请求都将添加到队列中,并在自动化任务运行数量低于此限制时运行。 如果等待时间超过超时时间,排队任务将失败。

注:

这不会限制从 notebook 编辑器交互运行的 notebook 的数量。

要更改 maxExecuteNotebookContainersPerNode 限制,请执行以下步骤。

注:

增加限制可能会导致Notebook Server 计算机使用额外的资源。

  1. 以管理员身份登录 ArcGIS Enterprise 门户
  2. 打开 ArcGIS Notebook Server Manager
  3. 单击设置 > 站点
  4. 更改 maxExecuteNotebookContainersPerNode 属性的值。
  5. 单击保存
  6. 查看有关重新启动 Notebook Server 的警告,然后单击保存并重新启动以保存更改。

每个用户的最大活动计划 notebook 任务数

每个具有计划 notebook 权限的 notebook 作者最多可以创建 20 个活动 notebook 任务。 达到此限制后,用户无法创建新的计划任务。 现有任务从“活动”更改为“完成”、“失败”或“非活动”,就可以创建新任务。 可以通过使用 ArcGIS Portal Administrator API 中的更新系统限制操作更新 ExecuteNotebooksUserLimit 属性来更改此限制。

每个组织的最大活动计划 notebook 任务数

组织的最大活动计划笔记本任务数限制为 200。 此限制表示组织中所有用户可以拥有的活动任务总数。 达到此限制后,用户无法创建新的计划 notebook 任务。 可以通过 ArcGIS Portal Administrator API 中的 更新系统限制操作更新 ExecuteNotebooksOrgLimit 属性来更改此限制。

计划任务报告的结果数

任务结果会报告并维护 30 次运行。 最近 30 次任务运行之前运行的任何任务都将被永久删除。 可以通过使用 ArcGIS Portal Administrator API 中的更新系统限制操作更新 TaskRunHistoryCount 属性来更改此限制。

任务自动失败

任何连续失败五次的任务将自动切换到失败状态并且不再运行。 在重新激活任务之前,任务所有者必须确保 notebook 可以在没有任何用户交互的情况下成功运行。 为确保任务继续运行,任务的所有者必须识别并纠正故障并将任务更改为“活动”状态。 可以通过使用 ArcGIS Portal Administrator API 中的更新系统限制操作更新 FailedRunsDisableTask 属性来更改此限制。

运行 Notebook API

管理员和笔记本创作者还可以在 ArcGIS Notebook Server Administrator Directory 中使用“执行笔记本”操作自动运行笔记本,而无需用户控制。 此操作将在调用时自动运行笔记本,但是通过使用自定义脚本,您可以将其计划为在设置的时间或定期自动运行。 cron 作业或 Windows 计划程序也可用于计划“执行 Notebook”操作以在设置的时间或按照循环间隔运行。

有关详细信息,请参阅 Administrator Directory reference 参考指南中的执行笔记本操作主题。