azure webjob java_使用 WebJobs 运行后台任务 | Azure Docs

在 Azure 应用服务中使用 WebJobs 运行后台任务Run background tasks with WebJobs in Azure App Service

10/19/2020

本文内容

本文介绍如何使用 Azure 门户部署 WebJobs,以便上传可执行文件或脚本。This article shows how to deploy WebJobs by using the Azure portal to upload an executable or script. 有关如何使用 Visual Studio 开发和部署 WebJobs 的信息,请参阅使用 Visual Studio 部署 WebJobs。For information about how to develop and deploy WebJobs by using Visual Studio, see Deploy WebJobs using Visual Studio.

概述Overview

WebJobs 是 Azure 应用服务的一项功能,它允许你在与 Web 应用、API 应用或移动应用相同的实例中运行程序或脚本。WebJobs is a feature of Azure App Service that enables you to run a program or script in the same instance as a web app, API app, or mobile app. 使用 Web 作业无需支付额外的费用。There is no additional cost to use WebJobs.

重要

Linux 上的应用服务尚不支持 WebJobs。WebJobs is not yet supported for App Service on Linux.

可以结合 WebJobs 使用 Azure WebJobs SDK 来简化许多编程任务。The Azure WebJobs SDK can be used with WebJobs to simplify many programming tasks. For more information, see What is the WebJobs SDK.

Web 作业类型WebJob types

下表描述了 连续 和 触发 Web 作业之间的差别。The following table describes the differences between continuous and triggered WebJobs.

连续Continuous

触发Triggered

创建 Web 作业后立即启动。Starts immediately when the WebJob is created. 若要防止作业终止,程序或脚本通常在无限循环中执行其工作。To keep the job from ending, the program or script typically does its work inside an endless loop. 如果作业确实终止,可将其重启。If the job does end, you can restart it.

仅当手动触发或按计划触发时启动。Starts only when triggered manually or on a schedule.

在运行 Web 应用的所有实例上运行。Runs on all instances that the web app runs on. 可以选择性地将 Web 作业限制为单个实例。You can optionally restrict the WebJob to a single instance.

在 Azure 选择用于负载均衡的单个实例上运行。Runs on a single instance that Azure selects for load balancing.

支持远程调试。Supports remote debugging.

不支持远程调试。Doesn't support remote debugging.

备注

Web 应用可在进入非活动状态 20 分钟后超时。A web app can time out after 20 minutes of inactivity. 只有向实际 Web 应用发出的请求才会重置计时器。Only requests to the actual web app reset the timer. 在 Azure 门户中查看应用的配置或向高级工具站点 (https://.scm.chinacloudsites.cn) 发出请求不会重置计时器。Viewing the app's configuration in the Azure portal or making requests to the advanced tools site (https://.scm.chinacloudsites.cn) don't reset the timer. 如果应用运行连续性或计划的(计时器触发器)WebJobs,可启用 Always On 来确保 WebJobs 可靠运行。If your app runs continuous or scheduled (Timer trigger) WebJobs, enable Always On to ensure that the WebJobs run reliably. 此功能仅在基本、标准和高级定价层中提供。This feature is available only in the Basic, Standard, and Premium pricing tiers.

支持的脚本或程序文件类型Supported file types for scripts or programs

支持以下文件类型:The following file types are supported:

.cmd、.bat、.exe(使用 Windows cmd).cmd, .bat, .exe (using Windows cmd)

.ps1(使用 PowerShell).ps1 (using PowerShell)

.sh(使用 Bash).sh (using Bash)

.php(使用 PHP).php (using PHP)

.py(使用 Python).py (using Python)

.js(使用 Node.js).js (using Node.js)

.jar(使用 Java).jar (using Java)

创建连续 Web 作业Create a continuous WebJob

在 Azure 门户中,转到应用服务 Web 应用、API 应用或移动应用的“应用服务”页。In the Azure portal, go to the App Service page of your App Service web app, API app, or mobile app.

选择“Web 作业”。Select WebJobs .

ff315ae579f9b6b970ef796db2904cca.png

在“Web 作业”页中,选择“添加”。In the WebJobs page, select Add .

7608eb469e8230bb6abfed9ad39907ca.png

使用表中指定的“添加 Web 作业” 设置。Use the Add WebJob settings as specified in the table.

90475923b52e0f073fbd2da7f5f5eb54.png

设置Setting

示例值Sample value

说明Description

名称Name

myContinuousWebJobmyContinuousWebJob

在应用服务应用中唯一的名称。A name that is unique within an App Service app. 必须以字母或数字开头,且不能包含除“-”和“”以外的特殊字符。Must start with a letter or a number and cannot contain special characters other than "-" and "".

文件上传File Upload

ConsoleApp.zipConsoleApp.zip

一个 .zip 文件,其中包含可执行文件或脚本文件,以及运行程序或脚本所需的所有支持文件。A .zip file that contains your executable or script file as well as any supporting files needed to run the program or script. 支持的文件类型部分中列出了支持的可执行文件或脚本文件类型。The supported executable or script file types are listed in the Supported file types section.

类型Type

连续Continuous

本文前面介绍了 Web 作业类型。The WebJob types are described earlier in this article.

缩放Scale

多实例Multi instance

仅适用于连续 Web 作业。Available only for Continuous WebJobs. 确定程序或脚本是在所有实例还是只在一个实例上运行。Determines whether the program or script runs on all instances or just one instance. 指定要在多个实例上运行的选项不适用于免费或共享定价层。The option to run on multiple instances doesn't apply to the Free or Shared pricing tiers.

单击 “确定” 。Click OK .

新的 Web 作业随即显示在“Web 作业”页上。The new WebJob appears on the WebJobs page.

3768d21ab05c7e99b8a859cc6b4b9a1f.png

要停止或重启某个连续 Web 作业,请在列表中右键单击该 Web 作业,并单击“停止”或“启动”。To stop or restart a continuous WebJob, right-click the WebJob in the list and click Stop or Start .

8f12a081ef008631cf6628c894c0310e.png

创建手动触发的 Web 作业Create a manually triggered WebJob

在 Azure 门户中,转到应用服务 Web 应用、API 应用或移动应用的“应用服务”页。In the Azure portal, go to the App Service page of your App Service web app, API app, or mobile app.

选择“Web 作业”。Select WebJobs .

ff315ae579f9b6b970ef796db2904cca.png

在“Web 作业”页中,选择“添加”。In the WebJobs page, select Add .

7608eb469e8230bb6abfed9ad39907ca.png

使用表中指定的“添加 Web 作业”设置。Use the Add WebJob settings as specified in the table.

c1ec2626ac08e7424a9cae1079e96a24.png

设置Setting

示例值Sample value

说明Description

名称Name

myTriggeredWebJobmyTriggeredWebJob

在应用服务应用中唯一的名称。A name that is unique within an App Service app. 必须以字母或数字开头,且不能包含除“-”和“”以外的特殊字符。Must start with a letter or a number and cannot contain special characters other than "-" and "".

文件上传File Upload

ConsoleApp.zipConsoleApp.zip

一个 .zip 文件,其中包含可执行文件或脚本文件,以及运行程序或脚本所需的所有支持文件。A .zip file that contains your executable or script file as well as any supporting files needed to run the program or script. 支持的文件类型部分中列出了支持的可执行文件或脚本文件类型。The supported executable or script file types are listed in the Supported file types section.

类型Type

触发Triggered

本文前面介绍了 Web 作业类型。The WebJob types are described earlier in this article.

触发器Triggers

手动Manual

单击 “确定” 。Click OK .

新的 Web 作业随即显示在“Web 作业”页上。The new WebJob appears on the WebJobs page.

3768d21ab05c7e99b8a859cc6b4b9a1f.png

如果要运行 Web 作业,请在列表中右键单击其名称,并单击“运行” 。To run the WebJob, right-click its name in the list and click Run .

b0916a7372d52bca402abc24ea1fb2d7.png

创建计划的 Web 作业Create a scheduled WebJob

在 Azure 门户中,转到应用服务 Web 应用、API 应用或移动应用的“应用服务”页。In the Azure portal, go to the App Service page of your App Service web app, API app, or mobile app.

选择“Web 作业”。Select WebJobs .

ff315ae579f9b6b970ef796db2904cca.png

在“Web 作业”页中,选择“添加”。In the WebJobs page, select Add .

7608eb469e8230bb6abfed9ad39907ca.png

使用表中指定的“添加 Web 作业”设置。Use the Add WebJob settings as specified in the table.

b73a1bf89074331f7bb0e9765c0c08d1.png

设置Setting

示例值Sample value

说明Description

名称Name

myScheduledWebJobmyScheduledWebJob

在应用服务应用中唯一的名称。A name that is unique within an App Service app. 必须以字母或数字开头,且不能包含除“-”和“”以外的特殊字符。Must start with a letter or a number and cannot contain special characters other than "-" and "".

文件上传File Upload

ConsoleApp.zipConsoleApp.zip

一个 .zip 文件,其中包含可执行文件或脚本文件,以及运行程序或脚本所需的所有支持文件。A .zip file that contains your executable or script file as well as any supporting files needed to run the program or script. 支持的文件类型部分中列出了支持的可执行文件或脚本文件类型。The supported executable or script file types are listed in the Supported file types section.

类型Type

触发Triggered

本文前面介绍了 Web 作业类型。The WebJob types are described earlier in this article.

触发器Triggers

计划Scheduled

要使计划可靠运行,请启用 Always On 功能。For the scheduling to work reliably, enable the Always On feature. Always On 仅在基本、标准和高级定价层中提供。Always On is available only in the Basic, Standard, and Premium pricing tiers.

CRON 表达式CRON Expression

0 0/20 * * * *0 0/20 * * * *

以下部分介绍了 CRON 表达式。CRON expressions are described in the following section.

单击 “确定” 。Click OK .

新的 Web 作业随即显示在“Web 作业”页上。The new WebJob appears on the WebJobs page.

3768d21ab05c7e99b8a859cc6b4b9a1f.png

NCRONTAB 表达式NCRONTAB expressions

可以在门户中输入 NCRONTAB 表达式,或者在 Web 作业 .zip 文件的根目录中包含一个 settings.job 文件,如以下示例中所示:You can enter a NCRONTAB expression in the portal or include a settings.job file at the root of your WebJob .zip file, as in the following example:

{

"schedule": "0 */15 * * * *"

}

备注

运行 CRON 表达式使用的默认时区为协调世界时 (UTC)。The default time zone used to run CRON expressions is Coordinated Universal Time (UTC). 若要让 CRON 表达式基于其他时区运行,请为函数应用创建一个名为 WEBSITE_TIME_ZONE 的应用设置。To have your CRON expression run based on another time zone, create an app setting for your function app named WEBSITE_TIME_ZONE. 若要了解详细信息,请参阅 NCRONTAB 时区。To learn more, see NCRONTAB time zones.

查看作业历史记录View the job history

选择要查看其历史记录 Web 作业,并选择“日志”按钮。Select the WebJob you want to see history for, and then select the Logs button.

b705f9f50d2737caa6caaa22a76f2641.png

在“Web 作业详细信息”页中,选择一个时间以查看一个运行轮次的详细信息。In the WebJob Details page, select a time to see details for one run.

85b088e5baee544d7cc1b1304d588463.png

在“Web 作业运行详细信息”页中,选择“切换输出”查看日志内容的文本。In the WebJob Run Details page, select Toggle Output to see the text of the log contents.

9e4d2f8499c089e3d8a3bc2e8d888418.png

若要在单独的浏览器窗口中查看输出文本,请选择“下载”。To see the output text in a separate browser window, select download . 若要下载文本本身,请右键单击“下载”,并使用浏览器选项来保存文件内容。To download the text itself, right-click download and use your browser options to save the file contents.

选择页面顶部的“Web 作业”痕迹导航链接转到 Web 作业列表。Select the WebJobs breadcrumb link at the top of the page to go to a list of WebJobs.

d405e47373da2bb6e436dc49ab6ad94a.png

0114a32a5adebe9125ebab7b63e5bfea.png

后续步骤Next steps

可以结合 WebJobs 使用 Azure WebJobs SDK 来简化许多编程任务。The Azure WebJobs SDK can be used with WebJobs to simplify many programming tasks. For more information, see What is the WebJobs SDK.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

适合程序员的画图工具

最近很多读者私信问我,我图解文章中用到的画图工具、思维导图工具、代码贴图工具是什么? 我在很早的时候提到过,不过时间有点久了,而且比较零散,可能现在大部分读者还不知道。 我今天统一整理一下,我图解…

go加载python_python培训 | python调用go语言来提速

在写一些对性能要求十分严格的功能的时候,python往往力不从心。毕竟是一个解释性的语言,没有办法和变异性的语言去比较速度和内存占用率。但是python的本身的特定就使得我们可以将耗时的操作移交给编译性的语言去实现。由于项目上的关系,需要…

Spring Boot框架中使用Jackson的处理总结

1.前言 通常我们在使用Spring Boot框架时,如果没有特别指定接口的序列化类型,则会使用Spring Boot框架默认集成的Jackson框架进行处理,通过Jackson框架将服务端响应的数据序列化成JSON格式的数据。 本文主要针对在Spring Boot框架中使用Jac…

Java hdfs连接池_Java使用连接池管理Hdfs连接

记录一下Java API 连接hadoop操作hdfs的实现流程(使用连接池管理)。以前做过这方面的开发,本来以为不会有什么问题,但是做的还是坑坑巴巴,内心有些懊恼,记录下这烦人的过程,警示自己切莫眼高手低!一&#x…

为了拿捏 Redis 数据结构,我画了 40 张图(完整版)

Redis 为什么那么快? 除了它是内存数据库,使得所有的操作都在内存上进行之外,还有一个重要因素,它实现的数据结构,使得我们对数据进行增删查改操作时,Redis 能高效的处理。 因此,这次我们就来…

fastjson为什么默认是无序的

在做项目的时候,无意间发现添加到json中的元素是无存放顺序的。严格来说,json默认是有存放顺序的,不过是采用HashCode值来排序。下面来看一段源码 上图展示了创建json对象的一个过程,可以清晰的看出,无论用户调用哪个…

Java之HashMap.values()转List时的错误和正确操作

因为项目中需要获取到Map的值的集合&#xff0c;所以调用了HashMap.values()方法转成List&#xff0c;当时是使用了以下代码。&#xff08;逻辑上这样想应该没问题&#xff0c;但生活总是会是不是给你一点小“”惊喜“”&#xff09; List<AreaItemOpt> areaItemOpts (…

php检测表大小,查询mysql数据库、表的大小

一、关于mysql表数据大小mysql存储数据文件一般使用表空间存储 &#xff1b;当mysql使用innodb存储引擎的时候&#xff0c;mysql使用表存储数据分为共享表空间和独享表空间两种方式 。共享表空间&#xff1a;Innodb的所有数据保存在一个单独的表空间里面&#xff0c;而这个表空…

springboot使用redis(StringRedisTemplate的常用方法)

1. 先了解RedisTemplate和StringRedisTemplate之间的关系&#xff1a; RedisTemplate是Spring对于Redis的封装&#xff0c;而StringRedisTemplate继承RedisTemplate。两者的数据是不共通的&#xff1b;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据&…

Arrays.asList()和Collections.singletonList()比较

Collections.singletonList(something)是不可变的&#xff0c; 对Collections.singletonList(something)返回的列表所做的任何更改将导致UnsupportedOperationException。 Arrays.asList(something)允许Arrays.asList(something) 更改 。 此外&#xff0c;由Collections.sin…

php 邮件类库,[3.3]-扩展类库:基于PHPMailer的邮件发送 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...

3.3.1 扩展类库&#xff1a;基于PHPMailer的邮件发送此扩展可用于发送邮件。3.3.2 安装和配置从 PhalApi-Library 扩展库中下载获取 PHPMailer 包&#xff0c;如使用&#xff1a;$ git clone https://git.oschina.net/dogstar/PhalApi-Library.git然后把 PHPMailer 目录复制到 …

spring boot报FileSizeLimitExceededException异常的解决方法

开发spring boot程序时&#xff0c;遇到了如下错误&#xff1a; The field file exceeds its maximum permitted size of 1048576 bytes. 原因&#xff1a; Spring Boot工程嵌入的tomcat限制了请求的文件大小&#xff0c;官方文档中这样描述&#xff1a; Spring Boot embraces…

前后端分离中的权限管理思路

在传统的前后端不分的开发中&#xff0c;权限管理主要通过过滤器或者拦截器来进行&#xff08;权限管理框架本身也是通过过滤器来实现功能&#xff09;&#xff0c;如果用户不具备某一个角色或者某一个权限&#xff0c;则无法访问某一个页面。 但是在前后端分离中&#xff0c;…

前、后端分离权限控制设计与实现

简述 近几年随着react、angular、vue等前端框架兴起&#xff0c;前后端分离的架构迅速流行。但同时权限控制也带来了问题。 网上很多前、后端分离权限仅仅都仅仅在描述前端权限控制、且是较简单、固定的角色场景&#xff0c;满足不了我们用户、角色都是动态的场景。且仅仅前端…

前后端分离必备的接口规范,十分接地气

1. 前言 随着互联网的高速发展&#xff0c;前端页面的展示、交互体验越来越灵活、炫丽&#xff0c;响应体验也要求越来越高&#xff0c;后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻&#xff0c;从而导致前后端研发各自专注于自己擅长的领域深耕细作。 然…

ubuntu php设置,关于ubuntu php环境设置详解-PHP问题

ubuntu php设置办法&#xff1a;起首更新源列表&#xff1b;而后关上“终端窗口”&#xff0c;输出饬令“sudo apt-get install php5”来装置php&#xff1b;接着装置设置装备摆设好apache环境&#xff0c;并装置php5-gd模块&#xff1b;最初创立“info.php”文件便可。Ubuntu …

MyBatis-Plus——增删查改

开发环境 IDEA JDK&#xff1a;1.8 Spring Boot:2.6.2 Maven:3.3.9 MySQL:8.0.23 数据库准备 CREATE DATABASE mybatis_plus_db;DROP TABLE IF EXISTS person; CREATE TABLE person(id BIGINT(20) NOT NULL COMMENT 主键ID, name VARCHAR(30) NULL DEFAULT NULL COMMENT 姓…

让程序员最爽的ThreadLocal使用姿势

一、常见场景 ​ 1、ThreadLocal作为线程上下文副本&#xff0c;那么一种最常见的使用方式就是用来方法隐式传参&#xff0c;通过提供的set()和get()两个public方法来实现在不同的方法中的参数传递。对于编程规范来说&#xff0c;方法定义的时候是对参数个数是有限制的&#x…

一场事故告诉你zookeeper和nacos谁更适合做注册中心

前言 ​ 在分布式系统中&#xff0c;注册中心充当着重要角色&#xff0c;是服务发现、客户端负载均衡中不可缺少的一员。注册中心除了能够实现基本的功能外&#xff0c;他的稳定性、可用性和健壮性对整个分布式系统的流畅运行影响重大。dubbo作为国内一款主流的分布式系统&…

Mysql执行计划含义,mysql执行计划介绍

烂sql不仅直接影响sql的响应时间&#xff0c;更影响db的性能&#xff0c;导致其它正常的sql响应时间变长。如何写好sql&#xff0c;学会看执行计划至关重要。下面我简单讲讲mysql的执行计划&#xff0c;只列出了一些常见的情况&#xff0c;希望对大家有所帮助。测试表结构&…