ITPub博客

首页 > IT职业 > IT职场 > 无涯教程:Laravel 8 - 任务调度介绍

无涯教程:Laravel 8 - 任务调度介绍

IT职场 作者:poman 时间:2021-09-09 08:52:15 0 删除 编辑

本教程将为您提供有关如何在laravel 8中创建cron作业的简单示例。

步骤1:安装Laravel 8

在此步骤中,如果您还没有laravel 8应用程序设置,那么我们必须获取最新的laravel 8应用程序。

composer create-project --prefer-dist laravel/laravel blog

步骤2:创建命令

在这一步中,我们需要创建我们的自定义命令。自定义命令将与任务调度scron作业一起执行。

php artisan make:command DemoCron --command=demo:cron


现在对命令文件进行一些更改。

app/Console/Commands/DemoCron.php

'hello new']);
        */
    }
}

步骤3:注册为任务调度程序

在此步骤中,需要在Kernel.php文件上定义我们执行时间的命令:

->everyMinute(); Run the task every minute
->everyFiveMinutes(); Run the task every five minutes
->everyTenMinutes(); Run the task every ten minutes
->everyFifteenMinutes(); Run the task every fifteen minutes
->everyThirtyMinutes(); Run the task every thirty minutes
->hourly(); Run the task every hour
->hourlyAt(17); Run the task every hour at 17 mins past the hour
->daily(); Run the task every day at midnight
->dailyAt(’13:00′); Run the task every day at 13:00
->twiceDaily(1, 13); Run the task daily at 1:00 & 13:00
->weekly(); Run the task every week
->weeklyOn(1, ‘8:00’); Run the task every week on Tuesday at 8:00
->monthly(); Run the task every month
->monthlyOn(4, ’15:00′); Run the task every month on the 4th at 15:00
->quarterly(); Run the task every quarter
->yearly(); Run the task every year
->timezone(‘America/New_York’); Set the timezone

app/Console/Kernel.php

command('demo:cron')
                 ->everyMinute();
    }
     
    /**
     * Register the commands for the application.
     *
     * @return void
     */
    protected function commands()
    {
        $this->load(__DIR__.'/Commands');
     
        require base_path('routes/console.php');
    }
}

步骤4:运行scheduler命令以进行测试

现在我们已准备好运行我们的Cron,因此您可以使用以下命令手动检查您的Cron命令。

php artisan schedule:run

运行以上命令后,您可以检查我们已打印一些文本的日志文件。

storage/logs/laravel.php

[2019-04-24 03:46:42] local.INFO: Cron is working fine!  
[2019-04-24 03:46:52] local.INFO: Cron is working fine!  
[2019-04-24 03:46:55] local.INFO: Cron is working fine!

最后,您可以在调度任务上管理此命令,您必须向服务器的Crontab文件添加一个记录:

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/416/viewspace-2796975/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-07-23

  • 博文量
    0
  • 访问量
    544