39.2. 创建 Cron Job


Cron Job 配置由以下关键部分组成:

  • cron 格式指定 的计划:
  • 创建下一个作业时使用的作业模板。
  • 可选期限(秒为单位),如果作业因任何原因而错过预定时间,则在此期限内启动作业。错过的作业执行计为失败的作业。若不指定,则没有期限。
  • concurrency Policy :可选的并发策略,指定如何对待 cron 作业中的并发作业。只能指定以下并发策略之一。若未指定,默认为允许并发执行。

    • Allow,允许 Cron 作业并发运行。
    • Forbid,禁止并发运行。如果上一运行尚未结束,则跳过下一运行。
    • Replace,取消当前运行的作业并替换为新作业。
  • 可选标志,允许挂起 Cron Job。若设为 true,则会挂起所有后续执行。

以下是 CronJob 资源的示例:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: pi
spec:
  schedule: "*/1 * * * *"  
1

  jobTemplate:             
2

    spec:
      template:
        metadata:
          labels:          
3

            parent: "cronjobpi"
        spec:
          containers:
          - name: pi
            image: perl
            command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
          restartPolicy: OnFailure 
4
Copy to Clipboard Toggle word wrap
  1. 计划作业。在本例中,作业将每分钟运行一次。
  2. 作业模板。类似于 作业示例
  3. 为此 Cron Job 生成的作业设置一个标签。
  4. pod 的重启策略。这不适用于作业控制器。详情请参阅 已知问题和限制
注意

所有 cron 任务调度时间均基于启动该作业的 master 的时区。

您还可以使用 oc run 在一个命令中创建并启动 cron 任务。以下命令会创建并启动与上一示例中指定的相同的 cron 任务:

$ oc run pi --image=perl --schedule='*/1 * * * *' \
    --restart=OnFailure --labels parent="cronjobpi" \
    --command -- perl -Mbignum=bpi -wle 'print bpi(2000)'
Copy to Clipboard Toggle word wrap

使用 oc run 时,--schedule 选项接受采用 cron 格式的调度计划。

注意

在创建 cron 任务时,oc run 仅支持 NeverOnFailure 重启策略(--restart)。

提示

删除您不再需要的 Cron Job:

$ oc delete cronjob/<cron_job_name>
Copy to Clipboard Toggle word wrap

这样可防止生成不必要的工件。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat