我是否需要做一些事情才能使时间表每分钟自动运行一次?

问题描述

我创建了此函数,但是当我执行以下命令时它只能工作一次:

php artisan schedule: run

我必须做点什么才能继续自动进行吗?当您只进入该站点一次并独自运行时,它会自动触发吗?

  protected function schedule(Schedule $schedule)
  {
        $schedule->call(function () {
              $dias1 = \Carbon\Carbon::today()->subDays(5);
              $dias2 = \Carbon\Carbon::today()->subDays(15);
              $encomendasnaopagas = encomendas::where('estado',1)->where('updated_at','<',$dias1)
                    ->join('distritos','encomendas.distrito','=','distritos.id')
                    ->update(['estado' => 5]);
    
              $encomendasenviadas = encomendas::where('estado',3)->where('updated_at',$dias2)
                    ->join('distritos','distritos.id')
                    ->update(['estado' => 4]);

        })->everyMinute();
  }

解决方法

这可能是您在使调度程序保持运行状态中丢失的东西

command

使用调度程序时,只需要将以下Cron条目添加到服务器。如果您不知道如何向服务器添加Cron条目,请考虑使用Laravel Forge之类的服务来为您管理Cron条目:

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

此Cron将每分钟调用一次Laravel命令调度程序。当执行schedule:run命令时,Laravel将评估您计划的任务并运行到期的任务。

您将需要在crontab或类似的cron管理系统中设置一个条目。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...