确保你的计划任务真的在运行。

备份、邮件、导入、定时文章:网站的大部分工作都按计划在后台运行。LayerAssist 检查这些任务是否在运行,找出某个任务为什么没跑,并让它重新运行起来。

一览

  • 在聊天中在聊天中,它会列出你的 Cron 任务,读取它们的日志,检查 WordPress 的调度器和后台进程,并修复没有运行的任务。
  • 自动化作为你自己的自动化,它可以每天早上检查夜间任务是否已经运行——例如是否有新的备份——并在有任务没跑时告诉你。
  • 内置监控如果你的队列 worker 以服务形式运行,内置的服务监控会在它停止的那一刻提醒你。
  • 暂不提供目前还没有针对 Cron 任务的内置“心跳”监控。

后台任务失败时悄无声息

Cron 任务和队列在没人看着的时候运行:夜间备份、发票邮件、商品导入、缓存清理、定时文章。其中一个停了,不会出现任何错误页面——只是这件事没人做了。

你会在之后以最痛苦的方式发现:需要用的备份已经是三个月前的,客户没收到发票,早上的文章根本没发出去。

计划任务没有运行的迹象

  • 备份没有生成,或者比应有的要旧
  • 定时文章显示“错过计划”
  • 每日邮件或导出停止了
  • 队列越来越长,任务一直处于“等待中”

Cron 任务和队列为什么会停止

WordPress 调度器只在有人访问时运行

WP-Cron 只在有人访问网站时触发。在访问量少的网站上,或在缓存后面,计划任务会延迟执行,甚至根本不执行。

路径或运行环境错误

手动运行正常的任务,按计划运行时却失败,原因可能是 PHP 版本不同、缺少路径或脚本被移动了。

worker 进程停止了

队列 worker 需要一直运行。崩溃、部署或重启之后,没有任何东西会把它们重新拉起来。

任务崩溃或相互重叠

一个失败的任务、一个从未释放的锁,或者一个运行时间超过间隔的任务,都会把后面的所有任务堵住。

LayerAssist 如何让后台任务持续运行

它检查计划、日志和结果:也就是任务本该产出的东西。

列出所有计划任务

它读取服务器的 crontab、主机控制面板中的 Cron 任务以及 WordPress 的计划事件,并逐一解释。

检查任务是否真的运行了

它寻找证据:一条日志记录、一个新的备份文件、一封已发送的邮件、一个已清空的队列。

找出任务失败的原因

它按 Cron 的方式运行任务命令,读取报错,然后修正路径、PHP 版本或权限。

把它设置正确

它可以用真正的服务器 Cron 替代 WP-Cron,设置能自动重启的 worker,并添加日志,让每次失败都留下痕迹。

示例:悄悄停掉的备份

  1. 你

    你能检查一下我们的夜间备份有没有在跑吗?我觉得已经好几个月没人看过了。

  2. 它检查了什么

    • Crontab:备份计划在每晚 02:00 运行
    • 最新的备份文件:已经是 74 天前的
    • Cron 日志:任务报错“mysqldump: command not found”
    • 原因:一次服务器更新移动了这个工具,而任务仍在使用旧路径
  3. 它改了什么

    修正了备份脚本中的路径,运行了一次,并设置了失败时发送邮件

  4. LayerAssist

    你的备份已经 74 天没有运行了:一次服务器更新移动了脚本所用的数据库工具。我修正了路径,并刚刚做了一次备份;已经完成,文件也在。如果你愿意,我可以每天早上检查是否有新的副本。

你能得到什么

  • 证明任务真的运行了,而不只是被安排了
  • 第二天早上就发现失败,而不是几个月后
  • WordPress 计划任务按时执行
  • 队列 worker 在崩溃后自动恢复

真实场景

计划操作卡住的 WooCommerce 商店

成千上万个计划操作一直在等待,邮件发得很晚。LayerAssist 找到失败的操作,让队列重新跑起来,并设置了真正的 Cron。

带队列的 Laravel 应用

一次部署后,队列 worker 再也没有启动。LayerAssist 把它交给 supervisor 管理以便自动重启,并建议加一个服务监控。

有定时文章的新闻网站

定在 6:00 发布的文章到中午才上线:在缓存后面,WP-Cron 只在缓存过期时才会触发。服务器 Cron 解决了这个问题。

如何用 LayerAssist 检查 Cron 任务

  1. 连接服务器或主机

    SSH 能看到全貌;主机控制面板也会显示它自己的 Cron 任务。

  2. 请求检查

    在聊天中问:“我们的计划任务在运行吗?”或者“昨晚的导入为什么失败了?”

  3. 让它修复任务

    它会找出原因、完成修复,并把任务运行一次,证明它能正常工作。

  4. 变成每天早上的检查

    把每日检查设为你自己的自动化,再为以服务形式运行的队列 worker 添加服务监控。

关于 Cron 任务监控的常见问题

Cron 是服务器自己的调度器,会准时运行。WP-Cron 是 WordPress 内置的调度器,只在有人访问网站时触发。为了可靠调度,LayerAssist 可以用真正的服务器 Cron 来运行 WP-Cron。

下一页:WordPress 更新

每月 $9 起 · 14 天后悔期

下次再出问题,你就知道该找谁了。

今天就添加你的网站,问出第一个问题。不适合你?14 天内取消即可退回首次付款,仅扣除已使用的 AI 工作费用。

免费试用 7 天 · 无需信用卡 · 不需要任何技术知识。