# 运行脚本

运行加载脚本以从数据源导出带有最新数据的数据。

Qlik Cloud Analytics 中的脚本不会自动运行以更新其输出。运行脚本会再次运行加载脚本，从脚本的数据源加载最新数据，然后将其导出。脚本运行可以是手动的，也可以按计划进行。

有关哪些用户可以重新加载数据的信息，请参阅：

* [管理共享空间中的权限](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Spaces/managing-shared-spaces.htm)

* [管理受管空间中的权限](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Spaces/managing-managed-spaces.htm)

您可以检查脚本的运行状态。该状态可以是成功、重新加载或失败。

* 在脚本的列表视图中，单击上次修改列中的值。
* 在重新加载历史记录中查看。
* 在为脚本的计划重新加载配置的任务的计划对话框中（仅显示由任务启动的运行的状态）。

信息注释脚本的最长运行时间为三小时。如果脚本运行的时间超过此时间，则会失败，您将收到一条消息。

## 计划脚本运行

创建任务以计划脚本的运行。计划可以使用基于时间或基于事件的触发器。

信息注释某些操作会导致任务的所有权发生变化。有关更多信息，请参阅[任务的所有权](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ScriptEditor/reloading-scripts.htm#Ownershi)。

创建任务：

1. 执行以下选项之一：

   * 在您的活动中心中，在脚本上单击 the 运行 icon 并选择 &gt; 计划。

   * 在脚本中，打开概览部分，然后单击 the 更多操作 icon &gt; 计划。

2. 单击创建新任务。

3. 为任务名称输入任务名称。

4. 可选择添加描述。

5. 在基于下，选择任务的触发器。您可以使用以下选项：

   * 基于时间：将刷新安排在某个特定的时间点。然后，使用该触发器的相关设置配置任务。有关详细信息，请参阅 [基于时间的计划](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ScriptEditor/reloading-scripts.htm#TimeBased)。

     可使用以下基于时间的触发器：

     * 每日

     * 每周

     * 每月

     * 每年

   * 基于事件：安排在特定事件发生时开始刷新。有关详细信息，请参阅[基于事件的计划](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ScriptEditor/reloading-scripts.htm#EventBased)。

     可使用以下基于事件的触发器：

     * 另一项任务成功：在所选任务成功运行时开始刷新。

     * 另一个任务失败：在所选任务失败时启动刷新。

     * 另一个任务已完成：在所选任务完成运行时开始刷新，无论该任务成功结束还是失败结束。

     信息注释使用基于事件的触发器创建数据刷新的任务链。有关更多说明，请参阅[为数据刷新创建任务链](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Refresh/task-chains-for-refresh.htm)。

6. 完成后，点击保存。

### 基于时间的计划

创建基于时间的计划时，可以选择：

* 刷新的频率和间隔

* 时区和一天中的时间

* 计划将生效多长时间

可以下面的间隔设置重复刷新：

* 每日：设置每天的时间、时区和一天中的时间。

* 每周：设置星期几、每天的时间、时区和一天中的时间。

* 每月：设置月份日期、每天的时间、时区和一天中的时间。

* 每年：设置月份、月份日期、每天的时间、时区和一天中的时间。

对于每天以任意间隔运行多次的计划，还可以定义一天中计划运行的时间。指定计划当天开始的具体时间。

默认情况下，计划将连续运行，没有结束日期。您可以选择设置开始日期、结束日期，或者只在两个日期之间运行计划。

### 基于事件的计划

基于事件的计划允许您将不同应用程序、脚本、数据流和表格配方的任务链接在一起。这对连续刷新这些资产非常有用。

有关更多信息，请参阅[为数据刷新创建任务链](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Refresh/task-chains-for-refresh.htm)。

### 管理任务

如果有权限，您可以管理现有任务。

审查和管理任务：

1. 执行以下选项之一：

   * 在您的活动中心中，在脚本上单击 the 运行 icon 并选择 &gt; 计划。

   * 在脚本中，打开概览部分，然后单击 the 更多 icon &gt; 计划。

2. 单击任务旁的 the 更多 icon ，然后选择任何可用选项。替代方法是切换到历史选项卡，查看任务执行时的详细历史记录。

有关更多信息，请参阅[管理数据刷新任务](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Refresh/refresh-manage-tasks.htm)。

### 限制和考虑事项

* 如果刷新数据的任务连续五次未能执行，则会被停用。如果您拥有该任务，则会在发生这种情况时收到通知。可以为单个应用程序、空间中的所有应用程序或租户中的所有应用程序自定义通知设置。有关详细信息，请参阅 [任务的所有权](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ScriptEditor/reloading-scripts.htm#Ownershi)。

* 如果任务所有者离开或被从租户中删除，则必须由另一个用户拥有该任务，或者删除并重新创建任务。否则，其计划刷新将失败。有关如何更改此所有权的信息，请参阅 [任务的所有权](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ScriptEditor/reloading-scripts.htm#Ownershi)。

* 如果您有大量排队并正在执行的数据刷新进程（以及额外的并发 CPU 和内存密集型进程），您可能会注意到，在某些情况下，某些刷新进程在其计划的启动时间之后执行。

* 已发布的脚本副本不包括数据刷新任务。已发布脚本必须在托管空间中的版本上重新配置其任务。

* 如果您的脚本有刷新数据的任务，并且您在空间之间（个人或共享空间）移动数据，则这些任务将被停用。您可以在准备恢复计划刷新时重新激活它们。请参阅 [激活和停用任务](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Refresh/refresh-manage-tasks.htm#Activating)。

### 任务的所有权

数据刷新任务是为负责该任务的用户运行，而不是代表应用程序、脚本、数据流或表格配方的所有者。为了使任务成功运行，任务所有者仍然必须对应用程序、脚本、数据流或表格配方及其数据源具有正确的访问权限。某些操作会导致任务所有者的更改。任务所有者通过以下规则来确定：

* 当您创建用于运行脚本的任务时，您将成为该任务的所有者。

* 如果其他用户编辑或保存现有任务，他们将成为该任务的新所有者。

* 如果其他用户修改了脚本的加载脚本，他们将成为该脚本计划运行的所有任务的新所有者。

* 将脚本发布或重新发布到托管空间不会更改已发布副本中任何现有任务的所有者。

有关联合开发脚本数据模型的更多信息，请参阅[在共享空间中共同开发数据加载脚本](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/script-codevelopment.htm)。

### 管理数据刷新任务

租户管理员和分析管理员可以编辑和删除计划数据刷新的任务。这是在 Administration 活动中心完成的。有关更多信息，请参阅：

* [管理面向租户和分析管理员的应用程序](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/mc-administer-apps.htm)

* [为租户和分析管理员管理脚本](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/mc-administer-scripts.htm)

## 手动运行脚本

您可以手动执行脚本。

执行以下操作：

* 执行以下选项之一：
  * 在您的活动中心中，在脚本上单击 the 运行 icon 并选择 &gt; 立即运行。
  * 在打开的脚本中，单击 立即运行。

## 查看脚本的运行历史记录

重新加载历史记录包含所选脚本的运行历史记录。使用它可以帮助解决计划的运行问题。您可以查看脚本过去和当前运行的状态、开始和结束时间以及持续时间。您还可以查看和下载相应的日志文件。

有两种方法可以查看脚本的重新加载历史记录。

* 在脚本概述中，单击重新加载历史记录。
* 在 Analytics 活动中心内脚本的列表视图中，单击上次修改日期列中的日期，然后选择查看重新加载历史记录。

重新加载脚本的历史记录

重新加载脚本的历史记录

重新加载脚本的历史记录 ![脚本编辑器的“重新加载历史记录”选项卡的屏幕截图。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_script-editor-reload-history-rev.png)

在重新加载历史记录页面上，单击查看按钮以查看运行摘要。也可以下载详细日志文件。当达到日志存储数量限制时，新日志将以先进先出的方式替换最旧的日志。

如果运行花费的时间太长，或者脚本已更新为新数据，而您希望开始新的运行，则可能需要取消运行脚本。要取消运行，请转到重新加载历史记录，然后单击取消。

您可以在重新加载历史记录中看到取消的运行。

### 查看任务历史记录

除了重新加载历史视图外，您还可以查看执行历史记录，该历史记录的重点是为脚本的计划重新加载创建的任务。有关更多信息，请参阅[查看任务的刷新历史记录](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Refresh/refresh-manage-tasks.htm#TaskHistory)。

## 理解时间戳：更新、修改日期和上次重新加载日期

您可以查看脚本磁贴中显示的该更新时间戳中的时间信息。您还可以通过单击脚本打开概览来查看此信息。它在摘要中列为修改日期。日期的格式可能有所不同；例如，如果脚本最近更新，则脚本磁贴上的更新值可能如下显示：15 分钟前更新。

通过选择脚本上的the 详细信息 icon，然后选择，可以查看上次重新加载日期。此值仅在运行脚本的数据时刷新。运行还会更改更新和修改日期时间戳。

脚本详细信息中的修改日期和上次重新加载日期字段

脚本详细信息中的修改日期和上次重新加载日期字段

脚本详细信息详细信息中的修改日期修改日期和上次重新加载日期上次重新加载日期字段 ![详细信息视图显示上次重新加载日期和修改日期时间戳](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_ScriptsUpdatedModifiedLastReload-rev.png)

下表列出了刷新更新（与修改日期相同）和上次重新加载日期时间戳的操作：

刷新更新更新和上次重新加载日期上次重新加载日期值的操作

| 运算 | 更新、修改日期 | 上次重新加载日期 |
| --- | --- | --- |
| 运行（重新加载） | 支持 | 支持 |
| 更改名称 | 支持 | 不支持 |
| 更改描述 | 支持 | 不支持 |
| 发布脚本 | 支持 | 不支持 |
| 更改所有者 | 支持 | 不支持 |
| 更改脚本 | 支持 | 否 |