Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
204 lines (131 sloc) 9.95 KB
title description author ms.assetid ms.topic origin.date ms.date ms.author ms.reviewer ms.custom ms.openlocfilehash ms.sourcegitcommit ms.translationtype ms.contentlocale ms.lasthandoff ms.locfileid
使用 WebJobs 运行后台任务
了解如何使用 WebJobs 在 Azure 应用服务中运行后台任务。 从各种脚本格式中进行选择,并使用 CRON 表达式运行它们。
ggailey777
af01771e-54eb-4aea-af5f-f883ff39572b
conceptual
10/16/2018
01/13/2020
v-tawe
msangapu;david.ebbo;suwatch;pbatum;naren.soni
seodec18
117804ae4c6fdbf8b2e65f19eff23c1f59cb6359
cebee33429c25996658d322d337dd05ad1439f89
HT
zh-CN
01/02/2020
75600222

在 Azure 应用服务中使用 WebJobs 运行后台任务

本文介绍如何使用 Azure 门户部署 WebJobs,以便上传可执行文件或脚本。 有关如何使用 Visual Studio 开发和部署 WebJobs 的信息,请参阅使用 Visual Studio 部署 WebJobs

概述

WebJobs 是 Azure 应用服务的一项功能,可以在与 Web 应用、API 应用或移动应用相同的上下文中运行程序或脚本。 使用 Web 作业无需支付额外的费用。

可以结合 WebJobs 使用 Azure WebJobs SDK 来简化许多编程任务。 有关详细信息,请参阅什么是 WebJobs SDK

Web 作业类型

下表描述了连续触发 Web 作业之间的差别。

连续 触发
创建 Web 作业后立即启动。 若要防止作业终止,程序或脚本通常在无限循环中执行其工作。 如果作业确实终止,可将其重启。 仅当手动触发或按计划触发时启动。
在运行 Web 应用的所有实例上运行。 可以选择性地将 Web 作业限制为单个实例。 在 Azure 选择用于负载均衡的单个实例上运行。
支持远程调试。 不支持远程调试。

[!INCLUDE webjobs-always-on-note]

支持的脚本或程序文件类型

支持以下文件类型:

  • .cmd、.bat、.exe(使用 Windows cmd)
  • .ps1(使用 PowerShell)
  • .sh(使用 Bash)
  • .php(使用 PHP)
  • .py(使用 Python)
  • .js(使用 Node.js)
  • .jar(使用 Java)

创建连续 Web 作业

  1. Azure 门户中,转到应用服务 Web 应用、API 应用或移动应用的“应用服务”页。

  2. 选择“Web 作业”。

    选择“Web 作业”

  3. 在“Web 作业”页中,选择“添加”。

    “Web 作业”页

  4. 使用表中指定的“添加 Web 作业” 设置。

    “添加 Web 作业”页

    设置 示例值 说明  
    名称  myContinuousWebJob 在应用服务应用中唯一的名称。 必须以字母或数字开头,且不能包含除“-”和“_”以外的特殊字符。
    文件上传  ConsoleApp.zip 一个 .zip 文件,其中包含可执行文件或脚本文件,以及运行程序或脚本所需的所有支持文件。 支持的文件类型部分中列出了支持的可执行文件或脚本文件类型。
    类型  连续 本文前面介绍了 Web 作业类型
    缩放  多实例 仅适用于连续 Web 作业。 确定程序或脚本是在所有实例还是只在一个实例上运行。 指定要在多个实例上运行的选项不适用于免费或共享定价层
  5. 单击 “确定”

    新的 Web 作业随即显示在“Web 作业”页上。

    Web 作业列表

  6. 要停止或重启某个连续 Web 作业,请在列表中右键单击该 Web 作业,并单击“停止” 或“启动” 。

    停止连续 Web 作业

创建手动触发的 Web 作业

  1. Azure 门户中,转到应用服务 Web 应用、API 应用或移动应用的“应用服务”页。

  2. 选择“Web 作业”。

    选择“Web 作业”

  3. 在“Web 作业”页中,选择“添加”。

    “Web 作业”页

  4. 使用表中指定的“添加 Web 作业”设置。

    “添加 Web 作业”页

    设置 示例值 说明  
    名称 myTriggeredWebJob 在应用服务应用中唯一的名称。 必须以字母或数字开头,且不能包含除“-”和“_”以外的特殊字符。
    文件上传 ConsoleApp.zip 一个 .zip 文件,其中包含可执行文件或脚本文件,以及运行程序或脚本所需的所有支持文件。 支持的文件类型部分中列出了支持的可执行文件或脚本文件类型。
    类型 触发 本文前面介绍了 Web 作业类型
    触发器 手动
  5. 单击 “确定”

    新的 Web 作业随即显示在“Web 作业”页上。

    Web 作业列表

  6. 如果要运行 Web 作业,请在列表中右键单击其名称,并单击“运行” 。

    运行 Web 作业

创建计划的 Web 作业

  1. Azure 门户中,转到应用服务 Web 应用、API 应用或移动应用的“应用服务”页。

  2. 选择“Web 作业”。

    选择“Web 作业”

  3. 在“Web 作业”页中,选择“添加”。

    “Web 作业”页

  4. 使用表中指定的“添加 Web 作业”设置。

    “添加 Web 作业”页

    设置 示例值 说明  
    名称 myScheduledWebJob 在应用服务应用中唯一的名称。 必须以字母或数字开头,且不能包含除“-”和“_”以外的特殊字符。
    文件上传 ConsoleApp.zip 一个 .zip 文件,其中包含可执行文件或脚本文件,以及运行程序或脚本所需的所有支持文件。 支持的文件类型部分中列出了支持的可执行文件或脚本文件类型。
    类型 触发 本文前面介绍了 Web 作业类型
    触发器 计划 要使计划可靠运行,请启用 Always On 功能。 Always On 仅在基本、标准和高级定价层中提供。
    CRON 表达式 0 0/20 * * * * 以下部分介绍了 CRON 表达式
  5. 单击 “确定”

    新的 Web 作业随即显示在“Web 作业”页上。

    Web 作业列表

NCRONTAB 表达式

可以在门户中输入 NCRONTAB 表达式,或者在 Web 作业 .zip 文件的根目录中包含一个 settings.job 文件,如以下示例中所示 :

{
    "schedule": "0 */15 * * * *"
}

若要了解详细信息,请参阅计划触发的 Web 作业

[!INCLUDE webjobs-cron-timezone-note]

查看作业历史记录

  1. 选择要查看其历史记录 Web 作业,并选择“日志”按钮。

    “日志”按钮

  2. 在“Web 作业详细信息”页中,选择一个时间以查看一个运行轮次的详细信息。

    Web 作业详细信息

  3. 在“Web 作业运行详细信息”页中,选择“切换输出”查看日志内容的文本。

    Web 作业运行详细信息

    若要在单独的浏览器窗口中查看输出文本,请选择“下载” 。 若要下载文本本身,请右键单击“下载”,并使用浏览器选项来保存文件内容。

  4. 选择页面顶部的“Web 作业”痕迹导航链接转到 Web 作业列表。

    Web 作业痕迹导航

    历史记录仪表板中的 Web 作业列表

后续步骤

可以结合 WebJobs 使用 Azure WebJobs SDK 来简化许多编程任务。 有关详细信息,请参阅什么是 WebJobs SDK

You can’t perform that action at this time.