【问题标题】:Laravel 5.1 Task Scheduling command issueLaravel 5.1 任务调度命令问题
【发布时间】:2016-03-04 01:32:01
【问题描述】:

我正在尝试执行两个控制台命令。以下是我在 Kernel.php

中的两个命令
protected function schedule(Schedule $schedule)
{
    $schedule->command('users:get')->everyMinute();

    $schedule->command('users:update')->dailyAt('01:00');
}

当我运行 php artisan schedule:run 时,只有被调度为 everyMinute 的命令才会被调度。

运行预定命令:'/usr/bin/php5' 'artisan' users:get > /dev/null 2>&1 &

如果我将第二个命令的 dailyAt 更改为 everyMinute,则两者都安排如下所示

运行预定命令:'/usr/bin/php5' 'artisan' users:get > /dev/null 2>&1 &

运行预定命令:'/usr/bin/php5' 'artisan' users:update > /dev/null 2>&1 &

【问题讨论】:

  • 你提到 dailyAt('01:00'),所以当你的时间是 01.00 并且你运行 php artisan schedule 时:运行这个命令将执行的时间,否则不会

标签: php laravel laravel-5 laravel-5.1


【解决方案1】:

php artisan schedule:run 将运行预定的命令,而不是列出它们。

因此,如果您在01:00 之前运行预定命令,则users:update 命令将不会被安排,也不会运行。

【讨论】:

  • 是否有任何用于显示已调度命令列表的工匠命令
  • php artisan list 将列出所有工匠命令,并且没有列出计划命令。你的目标是什么?如果您想从终端查看时间表,您可以cat app/Console/Kernel.php。或者,如果你想变得花哨,你可能会拼凑一个 shell 脚本,它只获取与 grepheadsed 相关的行?
猜你喜欢
  • 2017-10-21
  • 2019-09-02
  • 2015-10-25
  • 1970-01-01
  • 2018-11-05
  • 1970-01-01
  • 1970-01-01
  • 2015-09-17
  • 2019-07-03
相关资源
最近更新 更多