GitHub Actions工作流未显示定时触发器(定时触发器未出现)

后端开发 2026-07-10

我开发了一个Python脚本,并设置了一个GitHub Actions工作流(run.yml),使用 cron 调度每天在KST上午7 点(UTC 22:00)执行。

问题在于计划中的自动化根本不会触发。虽然 workflow_dispatch(手动触发)可以正常工作,但在GitHub Actions的界面中没有任何迹象表明该工作流是“计划触发”的。

我已经核对以下几点:

  • YAML文件中没有拼写错误。
  • 工作流文件已正确推送到默认分支(main)。
  • 仓库设置中已启用Actions权限。
  • 文件存在于默认分支。

尽管如此,Actions选项卡中仍缺少“时钟图标”或“计划中”状态。有没有人遇到过手动触发可用,但cron调度被GitHub完全忽略的情况?

我也查看了API(/actions/workflows),状态是 'active',但响应中缺少 'schedule' 属性。

on:
  schedule:
    - cron: '0 22 * * *'
  workflow_dispatch:

解决方案

我在自己的其中一个仓库做了一些测试,遇到了类似的问题。我写了两份.yaml文件,让一个工作流每分钟运行一次,一个带有 workflow_dispatch,一个没有。

结果非常不稳定,但我确实让Test 1使用 schedule 触发运行了它的作业。只是花了大约15分钟。

成功的测试

原来如果那个时间段比较繁忙,GitHub会对 schedule 触发器进行限流。

文档中的说明:

The schedule event can be delayed during periods of high loads of GitHub Actions workflow runs. High load times include the start of every hour. If the load is sufficiently high enough, some queued jobs may be dropped. To decrease the chance of delay, schedule your workflow to run at a different time of the hour.

你可能会想在22:00、22:05、22:10 UTC多次运行,或将其调度到不同的小时,但如果在该时段很忙,其实也没什么可以做的。

测试1:

name: Echo time
on: 
  workflow_dispatch:
  push: 
  schedule: 
    - cron: "* * * * *"
jobs:
  automated_test_1:
    name: Echo time
    runs-on: ubuntu-latest
    steps:
      - name: Show repository info
        run: echo $(date)

测试2:

name: Echo time
on: 
  schedule: 
    - cron: "* * * * *"
  workflow_dispatch:
jobs:
  automated_test_1:
    name: Echo time
    runs-on: ubuntu-latest
    steps:
      - name: Show repository info
        run: echo $(date)
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章