🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 定时任务 创建命令后:需要修改App/Console/Kernel.php 文件 编写命令的调度时间。 ``` /** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { // command('Log:record')里面填写之前在RecordLog文件里面的$signature参数 // everyMinute()此为每分钟执行任务 $schedule->command('Log:record')->everyMinute(); } ``` ~~~ ->cron('* * * * *'); 在自定义Cron调度上运行任务 ->everyMinute(); 每分钟运行一次任务 ->everyFiveMinutes(); 每五分钟运行一次任务 ->everyTenMinutes(); 每十分钟运行一次任务 ->everyThirtyMinutes(); 每三十分钟运行一次任务 ->hourly(); 每小时运行一次任务 ->daily(); 每天凌晨零点运行任务 ->dailyAt('13:00'); 每天13:00运行任务 ->twiceDaily(1, 13); 每天1:00 & 13:00运行任务 ->weekly(); 每周运行一次任务 ->monthly(); 每月运行一次任务 ->monthlyOn(4, '15:00'); 每月4号15:00运行一次任务 ->quarterly(); 每个季度运行一次 ->yearly(); 每年运行一次 ->timezone('America/New_York'); 设置时区 ~~~ ### 1、创建定时任务.bat ~~~ cd 你的项目路径 php artisan schedule:run > NUL 2>&1 ~~~ 或者 ~~~ cd 你的项目路径 php artisan schedule:run ~~~ ### 2、Linux创建定时任务,执行以下命令 ~~~ php artisan schedule:run ~~~ ### 3、创建Windows定时任务 laravel创建Windows定时任务 https://blog.csdn.net/weixin_42870994/article/details/108123025 Windows添加定时任务 https://www.cnblogs.com/gcgc/p/11594467.html ### 4、Linux下laravel的定时任务 - 上面命令Crontab会每分钟去调Laravel的schedule命令,然后Laravel判断执行任务。 - 或者定时执行Laravel的schedule里面的任务 参考:https://learnku.com/laravel/t/1402/laravel-timing-task 启动 Schedule 在定义完以上的任务之后,可以通过 php artisan schedule:run 来执行这些任务,但是,这个任务执行起来后,需要不断的执行这个这个命令定时器才能不断的运行,所以就需要 linux 的系统功能的帮助,在命令行下执行下面的命令: crontab -e 执行完以上的命令之后,会出现一个处于编辑状态的文件,在文件中填入以下内容: * * * * * php /path/to/artisan schedule:run 然后保存,关闭。上面命令的含义是每隔一分中就执行一下 schedule:run 命令。这样一来,前面定义的任务就可以不断的按照定义的时间间隔不断的执行,定时任务的功能也就实现了。 注:这个仅仅是在 linux 平台上,windows 还没研究过实现方法。 ### 5、Linux创建定时任务 将 `***** php/path/to/artisan schedule:run>>/dev/null2>&1 保存到cron.txt文件中` ![](https://img.kancloud.cn/52/cd/52cd830c9b46d22bb4a85d7ee8faece5_905x30.png) 得到文件路径 ![](https://img.kancloud.cn/f8/21/f82121f81aae1491e2fde762da1856a6_879x69.png) 找到该文件并更改路径 ![](https://img.kancloud.cn/68/7b/687b3b6284c199581e29cbac2babab8c_777x38.png) 该命令是让PHP每分钟调用一次 Laravel 命令调度器(php artisan schedule:run),接着 Laravel 会评判你的计划任务并运行预定任务。 将文件路径传给crontab,crontab- l执行 ![](https://img.kancloud.cn/ff/e0/ffe0d3d68f1b1bf57a3cae88a729d6fe_448x65.png) 便会每分钟执行一次任务了 ![](https://img.kancloud.cn/a1/0d/a10db79e25a9dfa2859953d99e8fb9f9_672x91.png)