Blogger Information
Blog 30
fans 1
comment 0
visits 23193
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php中laravel调度执行错误解决方法
P粉896289085
Original
661 people have browsed it

在本篇内容里小编给大家整理的是一篇关于php中laravel调度执行错误解决方法,对此有兴趣的朋友们可以学习参考下。

我们说laravel框架的功能性比较明确,作为全栈框架在代码的运行上是比较简洁的。在对laravel框架安装完成后,我们可以就其中的一些操作为大家展现。本篇要带来的是在laravel中的调度,分为两种不同目录的情况讨论,同时把可能在调度中会出现的错误情况,单独为大家呈现并解决。

1、不在laravel根目录(命令行操作前的地址)

php /www/wwwroot/laravel6/artisan schedule:run

/www/wwwroot/laravel/artisan 解释

/www/wwwroot/laravel6/ 为指定到laravel根目录的路径

artisan 为laravel自带的命令行工具

2、在laravel目录下(命令行操作前的地址)

php artisan schedule:run

因为命令此时本身就已将和artisan同目录,所以不需要再去指定artisan位置(指定也可以),直接运行上方命令即可。

3、laravel调度任务没有执行的问题

调度任务命令如下:

$schedule->command('emails:send')->withoutOverlapping();

说明:

withoutOverlapping 这个命令的作用就是当一个进程还没跑完,不会开启新的进程。其机制就是开启明亮的时候会在项目的storage/framework/cache目录中添加一个文件,如果进程卡住或者未进行完成的时候,这个文件就会陷入死循环,一直执行该进程,等到进程执行完毕之后,会删除相对应的缓存文件,开始下一个进程。

简单理解就是加上withoutOverlapping 会引起阻塞,只有完成的任务才会继续下面的进程。

内容扩展:

解决Laravel 任务调度不执行问题

如果你按照官方手册上的配置:

          • php /path/to/artisan schedule:run 1>> /dev/null 2>&1

发现任务没有按照预期的执行,可能是你环境变量问题,

按照下面的修改你的Cron任务配置即可;

          • cd /path/to && /usr/local/bin/php artisan schedule:run >> /dev/null 2>&1

其中 /usr/local/bin/php 是你PHP的绝对路径。

到此这篇关于php中laravel调度执行错误解决方法的文章就介绍到这了.

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post