跳转至
For the complete DHIS2 documentation index, see llms.txt.

排程

计划程序是用于管理DHIS2中的后台作业的应用程序。 后台作业可以执行许多任务,例如运行分析, 同步数据和元数据,或发送推送分析报告。的 应用程序提供了创建,修改和删除此类作业的功能。

调度程序与DHIS2捆绑在一起,可以通过应用程序进行访问 菜单。

日程安排程序的起始页](resources/images/scheduler/overview.png)

日程安排项目的起始页显示现有工作的概览。 默认情况下,预定义的系统任务是隐藏的。要查看这些工作,请单击右上角的 将系统工作包含在列表中

创建或修改作业时,将根据所选的计划表来安排作业。 所选计划安排。要按需运行作业,请转到作业列表、 单击要运行的作业的 "操作 "按钮,然后单击 "手动运行"。 "手动运行"。此操作仅适用于已启用的作业。

创造工作

  1. 打开**日程安排**应用项目,点击顶部的 "新工作 "按钮 右上角。

  2. Choose a suitable Name for the new job.

  3. 使用 "工作类型"选择要排程的**工作类型**。 下拉式菜单。

  4. 为作业选择计划。每种作业类型都有自己的计划类型、 或**Cron**调度或**Delay**调度。

    1. 对于 Cron 计划作业类型,您可以使用 Spring scheduling 语法。您还可以通过点击 "从预设时间中选择"。该计划只会启动新的作业运行 如果前一个任务运行已结束,以防止系统生成 工作机会太多。

    2. 对于**延时**计划任务,您可以设置以秒为单位的延时。与 **Cron***计划的工作,这些工作不是按照设定的 但工作运行之间有特定的延迟。延迟计时器 工作结束时启动,当延迟计时器达到 零。只要作业启用,这种情况就会持续。

  5. 如果任务类型可自定义,下面将显示**参数**部分 调度设置。这些附加选项指定了 根据工作类型的不同,预定的工作也会有所不同。

  6. 按**保存**按钮确认作业创建。作业创建成功后 您将被重定向到工作概览,在那里新的 现在将列出创建的工作。

创建一个新的调度项目作业

新创建的工作默认为启用。

编辑工作{ #scheduling_configure_job }

通过适当的权限,您可以修改用户创建的作业的详细信息。 作业的详细信息。要快速启用或禁用用户创建的作业,请使用日程安排项目着陆页**开/关**列中的 开关。 请注意,系统作业始终处于启用状态,无法禁用。

进一步编辑用户工作:

  1. 单击要编辑的工作的 "操作 "按钮,然后单击 "编辑"(仅限于 "编辑")。 可编辑用户工作)。

  2. 编辑完成后,按下**保存**按钮以保留更改。

删除工作

  1. 单击要删除的工作的 "操作 "按钮,然后单击 "删除"。 (只能删除用户任务)。

  2. 在弹出窗口中再次按** Delete **进行确认。

也可以从编辑屏幕删除用户任务。

删除调度项目作业

工作类型

以下部分描述了各种作业类型。

禁用非活动用户{ #scheduling_disable_inactive_users }

可以自动禁用几个月未活动(未登录)的用户。 选择不活动月数作为任务参数。 所有在该月数或更长时间内未登录的用户都将被任务禁用。 被禁用的用户将无法再登录系统。

可以设置 Reminder days before 参数,以便在用户账户到期前的指定天数向其发送提醒电子邮件。 提醒邮件。 如果用户没有登录,系统将发送更多的提醒邮件,每封邮件的天数减半。 天数减半。例如,如果天数设置为 7 天,则 第一封邮件提前 7 天发送,第二封提前 3 天发送,第三封和最后一封提前 1 天发送。 最后一天。 如果未设置该值(空白),则不会发送提醒邮件。

资源表

资源表作业负责生成和更新资源数据库表。这些表由DHIS 2中的各个组件使用,旨在简化针对数据库的查询。

请注意,当指定任何分析表作业时,资源表可以是该过程的一部分,并且也不必指定资源表作业。

分析表

分析表作业负责生成和更新分析表。分析表用作DHIS2中数据分析查询的基础。仪表板,可视化工具和地图等应用程序通过DHIS2分析API从这些表中检索数据,并且必须对其进行更新才能使分析数据可用。您可以安排此过程通过分析表作业类型定期运行。

默认情况下,分析表作业将填充所有年份和数据元素的数据。可以使用以下参数:

  • **过去几年:**为其填充分析表的最后几年的数量。例如,如果您指定2年,则该过程将更新最近两年的数据,而不更新较旧的数据。此参数对减少过程完成所需的时间很有用,并且如果旧数据没有更改,并且需要更新最新数据,则该参数非常适用。
  • **跳过资源表:**在分析表更新过程中跳过资源表。这减少了过程完成所需的时间,但导致元数据的更改未反映在分析数据中。
  • **跳过表类型:**跳过一种或多种分析表类型。这减少了过程完成所需的时间,但导致这些数据类型未在分析数据中更新。

连续分析表

分析表作业负责生成和更新分析表。分析表用作DHIS2中数据分析查询的基础。仪表板,可视化工具和地图等应用程序通过DHIS2分析API从这些表中检索数据,并且必须对其进行更新才能使分析数据可用。您可以安排此过程通过分析表作业类型定期运行。

连续分析表作业基于两个阶段:

  • _最新更新:_最新数据的更新,其中最新是指自上次更新最新数据或完整数据以来已添加,更新或删除的数据。此过程将经常发生。
  • _完整更新:_多年来所有数据的更新。此过程每天进行一次。

连续分析表作业将经常更新最新数据。最新数据处理使用特殊的数据库分区,该分区仅用于保存最新数据。由于数据量相对较少,因此可以快速刷新此分区。分区的大小将增加,直到执行完全更新。每天一次,将更新所有年份的所有数据。这将清除最新的分区。

默认情况下,分析表作业将填充所有年份和数据元素的数据。可以使用以下参数:

  • **一天中的完整更新时间:**一天中的完整更新将在这一小时完成。例如,如果您指定1,则将在凌晨1点执行完整更新。
  • **过去几年:**为其填充分析表的最后几年的数量。例如,如果您指定2年,则该过程将更新最近两年的数据,而不更新较旧的数据。此参数对减少过程完成所需的时间很有用,并且如果旧数据没有更改,并且需要更新最新数据,则该参数非常适用。
  • **跳过资源表:**在分析表更新过程中跳过资源表。这减少了过程完成所需的时间,但导致元数据的更改未反映在分析数据中。

跟踪器搜索优化{ #scheduling_tracker_search_optimization }

跟踪器搜索优化工作负责生成和更新相关跟踪实体属性的三叉索引。三叉索引可提高根据特定跟踪实体属性值搜索跟踪实体实例的性能。三角索引的实用性取决于跟踪实体属性是否被配置为唯一或是否被配置为可搜索(当与项目/跟踪实体类型相连时)。你可以通过配置工作来选择哪些跟踪实体属性应该被三叉索引。该任务还会删除之前创建但由于元数据配置变化而不再需要的过时索引。

可使用以下参数:

  • 属性: 需要创建三角索引的属性列表。将为每个属性创建一个部分三叉树索引。例如,如果指定 "firstname "和 "lastname "属性,进程将分别为相应的属性 "firstname "和 "lastname "创建两个三角索引。需要注意的是,如果在此参数中提供的属性不可索引(因为它们不唯一或不可搜索),那么进程将直接忽略这些属性,不会为它们创建任何三角索引。
  • 跳过索引删除: 在三角索引过程中跳过过时索引的删除。如果设置为 "true",则不会删除被视为过时的索引。

数据同步

DHIS2 提供远程分布式实例与 DHIS2 中央实例之间的数据同步。 实例和 DHIS2 中央实例之间的数据同步。例如 部署了多个独立的 DHIS2 实例,需要将数据值提交到中心 DHIS2 实例时。 需要向中央 DHIS2 实例提交数据值时。跟踪器 数据和汇总数据同步。

这些是启用数据同步的步骤:

  • 转到“同步设置”,输入远程服务器URL, 用户名和密码。按TAB按钮自动保存 新密码。刷新页面并检查填充值 仍然存在。请注意,密码字段将在之后为空 刷新,因为此值是加密的,所以您可以考虑使用它 已保存。

  • 使用Scheduler应用程序,使用“事件程序 数据同步”和/或“跟踪器程序数据同步”作业类型。请确保 完成后启用。 (注意:如果“程序数据同步” 以前版本中可用的作业是在Scheduler应用中设置的, 它被两个新的作业“事件程序数据同步”自动替换 和“ Tracker Programs Data Sync”具有相同的设置。 )

数据同步功能的某些方面需要注意:

  • 本地DHIS2实例将存储用户帐户的密码 在本地数据库中加密的远程实例上。遥控器 帐户在传输数据时用于身份验证。对于 为安全起见,请确保您设置了 encryption.password _hibernate.properties_中的配置参数改为强 密码。

  • 强烈建议在SSL / HTTPS上部署远程服务器,因为 用户名和密码使用基本格式以明文形式发送 身份验证,并且可能被攻击者拦截。

  • 数据同步使用数据元素的UID属性, 类别选项组合和组织单位以匹配 元数据。因此,同步取决于这三个 在本地和远程实例上协调元数据对象 为了工作正常。

  • DHIS2首次运行同步作业时,它将包括 任何可用数据。随后的同步作业将仅 包括自上次成功工作以来添加和更改的数据。一种 仅当所有数据都被认为是成功的同步作业 已成功保存在远程服务器上(任何数据成功 无论作业是否同步,同步后的邮件都会保留在接收实例上 最终失败)。这项工作是否成功可以 由中央服务器返回的导入摘要决定。

  • 初始同步作业可能需要花费大量时间 时间,可能会使实例变慢,具体取决于多少 数据正在同步。最好配置 在线用户很少时运行作业,然后稍后更改 根据自己的偏好。如果您不想或不需要同步所有 数据,则有可能跳过 一些数据正在同步

当 DHIS2 同步跟踪器数据时,它会确定一组数据 的同步时间。每个 跟踪的实体实例和事件具有自己的记录 上次成功同步的时间。

  • 系统将根据规则集启动同步作业 在作业的配置中。如果同步作业开始 没有与远程服务器的连接时,它将重试 至中止之前的三倍。作业将在 计划的时间。

  • 服务器分别处理每组程序,这意味着一个 一组程序可以成功同步,而另一组 失败。一个人的失败或成功不会影响另一个人,因为 最后的成功同步时间将单独跟踪 如前所述,每个项目。

  • TrackedEntityInstances的属性(TrackedEntityAttribute) 和ProgramStages的数据元素(ProgramStageDataElement) 启用了“跳过同步”选项的用户将不会 已同步。此功能使您可以决定不同步 一些敏感或不相关的数据,并将其仅保留在本地。

  • 忽略跟踪器和事件捕获中的必填字段验证 "授权 (F\_IGNORE\_TRACKER\_REQUIRED\_VALUE\_VALIDATION)应在以下情况下使用 要求某些强制属性/数据元素 同时具有“跳过同步”属性。 这样的设置将导致中央服务器上的验证失败 因为给定的属性/数据元素将不会出现在 有效载荷。

具有此权限的用户验证不会失败。的 应该在中央服务器上将权限分配给用户, 将用于同步作业。

  • 在特殊情况下,** 初始同步所有数据可能不可取**; 例如,当本地实例上的数据库是 数据库存在于中央实例上,或者在不推荐的情况下 同步旧数据,以减少初始同步所需的时间。 时间。

  • syncSkipSyncForDataChangedBefore * SettingKey可用于跳过 所有数据(数据值,事件和跟踪器)的同步 程序数据,完整的数据集注册)最后 在指定日期前更改。设置键 "在 同步工作。因此,如果需要同步 您应该更改 SettingKey.

  • 跟踪项目和事件项目同步工作都支持 分页是为了避免超时并处理不稳定的网络。 “事件程序数据同步”作业的默认页面大小设置为60。 “跟踪程序数据同步”作业的默认页面大小设置为20。

如果默认值不符合您的目的,则可以指定自己的页面大小 通过参数,特别是Scheduler应用中的同步作业。

元数据同步调度

DHIS2提供了用于同步远程元数据的功能 实例到DHIS2的本地实例。当您有 部署了DHIS2的多个独立实例,您需要创建 所有本地实例中的元数据都类似于中央DHIS2 实例。

这些是启用元数据同步的步骤:

  • 转到设置>同步,输入远程服务器URL, 用户名和密码,然后单击保存。

  • 转到元数据管理>计划。在元数据下 将同步设置策略设置为“已启用”,然后选择时间段和 单击开始。

元数据同步功能的某些方面需要注意:

  • 本地DHIS2实例将存储用户帐户的密码 远程实例在其数据库中的位置。远程用户帐户是 用于传输/下载数据时的身份验证。对于 为安全起见,请确保您设置了 encryption.password _hibernate.properties_中的配置参数改为强 密码。

  • 强烈建议在SSL / HTTPS上部署远程服务器,因为 用户名和密码使用基本格式以明文形式发送 身份验证,并且可能被攻击者拦截。

  • 另外,请确保远程用户没有ALL权限, 相反,只需创建具有F _METADATA _MANAGE权限的用户,即可 即使这些细节被黑客拦截, 完全控制远程系统。

  • 元数据同步依赖于基础导入层。 每个元数据版本都是两个给定之间的元数据导出 时间戳记。每次同步元数据版本都是尝试导入 该元数据快照到本地实例中。的同步 版本是增量的。本地实例将尝试下载 来自中央实例的元数据版本一个接一个。 无法同步特定的元数据版本将无法同步 进行进一步的版本。发生故障时,适当 必须对中央的元数据进行更改,以确保 错误得到解决。元数据配置至关重要, 用户在将更新升级到 生产。始终建议在 确保元数据版本及其完整性的地方 此后的影响。本地实例将同步来自 第一版,以便保持和谐以及本地和中央 实例将正常工作。

  • 系统将在计划的时间尝试同步。如果 本地或远程服务器没有可用的Internet 当时的连接,同步将被中止,并且 按照尝试次数中所述的重试次数重新尝试 _dhis.conf_文件。

  • 您可以看到上一次与远程服务器成功同步的时间 调度屏幕中“最后成功”标签旁边的服务器。

预测器{ #scheduling_predictor }

这将运行选定的预测因子和/或预测组。

相对开始和结束参数决定了预测数据的时间段。 预测数据的时间段,与 预测任务的运行日期:

  • **相对起始**计算从工作日期到**的天数。 预测期开始的最早日期。它可以是正数 或负值。例如,数值为 3 表示预测的时段为 至少在预测因子运行 3 天后开始。值为 -3 表示 预测到至少在预测器运行前 3 天开始的时段。

  • **相对结束**计算从工作日期到**的天数。 预测期可能结束的最晚日期。它可以是正数 或负值。例如,数值为 9 表示预测的时段为 至少在预测因子运行 9 天后结束。值为 -9 表示 预测到在预测器运行前至少 9 天结束的时段。

设置这些值可以让您非常灵活地控制 预测的时间,尤其是当预测任务被设置为 每天或更频繁地运行。在设置这些值之前,您应该 在设置这些值之前,您应该仔细考虑您希望何时开始对某个时间段进行预测,以及何时停止预测。 何时开始预测,何时停止预测。然后 计算适当的相对开始和结束日期。 和结束日期。

例子:

  1. 要求:预测器使用同一周的数据 作为预测值。(不使用过去的采样数据)。 周日本周结束后,您希望数据 将在随后两天(周一和周二)参赛。 您不希望在周三之后才开始预测数据。 周结束,因为您不想显示部分结果。 不过,数据仍可能在周三进行调整,因此您需要 周四也将更新预测。之后 数据被冻结,您不想再预测这一时期的数据。

解决方法: 对于每天或更频繁运行的作业,定义 相对起始点为 -10,相对终点为 -2(对于周期 工作运行前 10 到 2 天内)。

- 在下一周的星期三之前,周期结束时间为
大于 2 天前,因此无法预测。

- 下一周的星期三,月经开始 9 天
前,并在 2 天前结束。预测的原因是 -9 至 -2
范围在 -10 至 -2 之间。

- 下一周的星期四,经期开始 10 天
前,并在 3 天前结束。预测的原因是 -10 至 -3
范围在 -10 至 -2 之间。

- 周四之后,上一周的开局比
10 天前,因此无法预测。

- 仅在周三和周四进行预测。周五至
周二,不做任何预测(工作很快结束)。
  1. 要求:预测器用于预测极限值(平均值加两倍)。 标准偏差) 的数据为基础的非季节性变化的预期疾病病例。 前五周。周是指周一至周日。预测应从 从上一个星期二开始,利用当时的可用数据,以及 预测将持续到该周的星期二。 时,假定前一周的数据为最终数据)。

解决方法: 对于每天或更频繁运行的工作、 将相对起点定义为-1,相对终点定义为 12。

- 周二之前,不会对下周进行预测,因为
超过 12 天后结束。

- 周二,将对下一周进行预测,下周开始
6 天后开始,12 天后结束。

- 周三至下周二,将对以下内容进行预测
本周的开始至结束日期为:周三:5 至 11,周四:4 至 10:周四:4 至 10、
周五:3 时至 9 时,周六:2 时至 8 时,周日:1 时至 7 时,周一:1 时至 7 时1 至 7,周一:0 至 6,周二:-1 至 5:周一:0 至 6,周二:-1 至 5。

- 请注意,周二将对本周进行预测,其中包括
开始至结束日期-1 至 5,以及下一周的日期
开始至结束日期为 6 日至 12 日。每周其他日期
预测时间为一周。

您可以选择在任务期间运行哪些预测器和预测器组:

  • **预测器**运行单个预测器。 它们按添加的顺序运行。

  • ** 预测组** 运行预测组。 它们按照添加的顺序运行。每组中的预测因子按 名称的顺序(比较 Unicode 字符值)。

如果在同一作业中选择了单个预测因子和预测因子组,则先运行单个预测因子,然后运行预测因子组。 工作,则先运行单个预测因子,然后再运行预测因子组。