【问题标题】:Laravel 5 Schedule Task Not WorkingLaravel 5计划任务不起作用
【发布时间】:2017-06-27 09:37:13
【问题描述】:

我正在尝试每 5 秒执行一次计划任务。

这是我的代码。

  */
    protected function schedule(Schedule $schedule)
    {
        // $schedule->command('inspire')
        //          ->hourly();

        $schedule->call('App\Http\Controllers\SoapController@show')->cron('0,5 * * * *');


    }

    /**
     * Register the Closure based commands for the application.
     *
     * @return void
     */
    protected function commands()
    {
        require base_path('routes/console.php');
    }

当我输入时出现此错误

php 工匠计划:运行

命令。

没有计划的命令准备好运行。

编辑:

我更新了我的调度程序和命令部分。我创建了一个命令。

当我像这样使用它时

php 工匠获取:数据

它的工作。

但是当我使用调度程序尝试它时,它只工作了 1 次。

protected $commands = [
        \App\Console\Commands\GetData::class,
    ];


 $schedule->command('get:data')->cron('* * * * *');

【问题讨论】:

  • 您在尝试调用 schedule:run 之前调用了方法“schedule”来创建任务?
  • Cron 不支持秒。您当前的 cron 命令是在 0 分钟后和 5 分钟后运行。你能告诉我们为什么你需要它定期发生吗?
  • @RossWilson 我需要每 5 秒从网络服务获取数据。所以我正在尝试这样做。
  • 0,5 * * * * 将在 X:00 和 X:05 执行。

标签: laravel scheduled-tasks


【解决方案1】:

您不能指定每 n 秒运行一次的计划任务。系统依赖 crontab 任务,这些任务只能安排到分钟,不能更小。这就是为什么无法定义每 n 秒运行的计划任务,即使使用 cron 方法(因为 cron 不支持秒数)。

【讨论】:

    猜你喜欢
    • 2013-12-29
    • 2018-07-02
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 2012-06-05
    • 2010-11-13
    • 1970-01-01
    相关资源
    最近更新 更多