You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在自托管Coolify.io上运行Laravel调度器/Cron任务

在Coolify中配置Laravel调度器的Cron任务方案

方法一:通过Coolify面板直接配置(推荐)

Coolify支持为托管的Docker应用添加容器内执行的Cron任务,步骤如下:

  • 打开Laravel应用的Coolify管理界面,找到Cron Jobs(部分版本显示为Scheduled Tasks)选项卡
  • 点击「Add New Cron Job」,填写以下配置:
    • Name:自定义任务名称,比如Laravel Scheduler Runner
    • Command:php artisan schedule:run
    • Schedule:填写* * * * *(必须每分钟执行一次,匹配Laravel调度器的触发逻辑)
    • Target:选择当前Laravel应用对应的Docker容器,确保命令在应用容器内执行
    • (可选)Description:添加备注说明任务用途
  • 保存任务后,可点击「Run Now」手动触发一次,验证命令是否能正常执行,同时查看任务日志确认无报错

方法二:通过VPS SSH手动配置主机Cron

如果Coolify面板配置遇到问题,可直接在VPS主机上配置Cron,让它每分钟调用容器内的Laravel调度器:

  1. SSH登录你的VPS,执行docker ps找到Laravel应用对应的容器名称或ID
  2. 编辑主机的Cron表:crontab -e
  3. 添加一行Cron规则:
    * * * * * docker exec -d <容器名称/ID> php artisan schedule:run >> /dev/null 2>&1
    
    • -d参数让命令在后台执行,避免阻塞Cron进程
    • >> /dev/null 2>&1用于重定向输出,防止产生不必要的日志文件
  4. 保存退出后,重启Cron服务(根据系统不同选择命令):
    • Ubuntu/Debian:systemctl restart cron
    • CentOS/Rocky:systemctl restart crond

验证与排查

  • 进入容器内部验证:执行docker exec -it <容器名称/ID> bash,然后运行php artisan schedule:list,确认Laravel的定时任务列表能正常输出
  • 查看Laravel日志:进入容器后查看storage/logs/laravel.log,检查是否有调度器执行的相关日志
  • 确保.env配置正确:容器内的APP_ENV、APP_KEY必须配置正常,否则调度器可能无法启动

内容的提问来源于stack exchange,提问作者Jibin Bose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 17:04:55