你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Spring Apps 中的作业(预览版)
注意
从 2025 年 3 月中旬开始,基本、标准和企业计划将弃用,停用期为三年。 建议过渡到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告。
从 2024 年 9 月 30 日开始,标准消耗和专用计划将弃用,六个月后将完全关闭。 建议过渡到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用。
本文适用于:✔️ Java ✔️ C#
本文适用于:❌ 基本版/标准版 ✔️ 企业版
作业是 Azure Spring Apps 资源模型中的关键概念。 与 Azure Spring Apps 中的应用一样,两者都被视为在服务中管理的资源。
应用会持续运行工作负载,而作业使客户能够运行在有限的持续时间内完成的工作负载。 应用示例包括持续处理输入的 Web 应用和后台服务。 作业示例包括批处理和按需任务。
编写作业的 Spring 开发人员可能选择 Spring Batch 框架或 Spring Cloud 任务。 Spring Batch 擅长处理大规模批处理任务,而 Spring Cloud 任务专精于管理短期任务,开销最小。 可以在 Azure Spring Apps 作业中高效运行这两种类型以满足各种要求。
作业执行
作业执行是指运行作业中定义的特定任务或任务组的过程。 它包含执行这些任务的整个生命周期,包括根据其规范初始化、处理和完成作业。
Azure Spring Apps 中作业执行的常见生命周期是从 pending
和 running
到终止状态 completed
或 failed
,具体取决于执行是否成功完成。
每次执行作业时,它都会从作业采用其预设配置,某些方面允许自定义以适应不同的运行。
在非并行作业执行中,一次只运行一个实例。 在并行执行中,可以同时运行多个实例。
配置
作业会建立用于每个执行的默认配置,包括用户应用程序源和触发器配置等元素。 作业的每个执行都会继承配置,使单个执行的某些参数能够用新值重写。
下表显示了作业级别或作业执行级别的配置:
属性名称 | 范围 | 备注 |
---|---|---|
触发器类型 | 作业 | 公共预览版的手动触发器。 以后还计划推出更多触发器类型。 |
并行度 | 作业 | 同时执行的作业的实例计数。 默认值是 1秒。 对于并行作业,可以通过 JOB_COMPLETION_INDEX 环境变量获取每个实例的索引。 |
重试限制 | 作业 | 作业在遇到失败或错误后尝试执行的最大次数。 默认值为 0,这意味着作业在失败时不会重试。 |
超时 | 作业 | 等待作业在状态设置为 failed 之前完成的最大秒数。 可以将它保留为未设置或将值设置为 0,这意味着作业没有超时。 |
参数 | 作业/执行 | 为作业的执行重写指定的参数的值。 |
环境变量 | 作业/执行 | 键值对格式的变量。 在作业级别指定的环境变量是每次执行的默认值。 在执行级别指定的环境变量具有更高的优先级。 可以在启动执行时指定环境变量,以替代作业级别的值。 |
密码环境变量 | 作业/执行 | 包含加密机密值的凭据的变量。 |
CPU | 作业/执行 | 为执行指定的值会替代为作业指定的值。 |
内存 | 作业/执行 | 为执行指定的值会替代为作业指定的值。 |
创建或更新作业资源时,作业级别的配置适用。 启动作业执行时,适用作业执行级别的配置。