php之laravel调度执行及出错的解决方法
小编给大家分享一下php之laravel调度执行及出错的解决方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
php有什么特点
1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库。4、面向对象编程:PHP提供了类和对象。5、版本更新速度快。6、具有丰富的功能。7、可伸缩性。8、功能全面,包括图形处理、编码与解码、压缩文件处理、xml解析等。
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 会引起阻塞,只有完成的任务才会继续下面的进程。
看完了这篇文章,相信你对“php之laravel调度执行及出错的解决方法”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!