在本篇内容里小编给大家整理的是一篇关于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调度执行错误解决方法的文章就介绍到这了.

更多相关文章

  1. Android(安卓)系统用户态启动过程
  2. Android自学笔记:应用程序基本原理
  3. Android服务注册完整过程源码分析
  4. Android跨进程通信-AIDL
  5. Android中的多进程、多线程
  6. PHP并发场景的三种解决方案代码实例
  7. [置顶] Android启动过程——init,Zygote,SystemServer
  8. Android(安卓)基础总结:(七)BroadcastReceiver详解(上)
  9. Android菜鸟的成长笔记(21)——跨进程调用Service

随机推荐

  1. jQuery之mouseover与mouseenter以及mouse
  2. 如何使用智能管理员的注销警告弹出窗口来
  3. jquery mobile开发中常见的问题
  4. bootstrap,模态对话框,shown.bs.modal事件
  5. 如何将一个div中的a标签放在另一个div的a
  6. postman 发送json请求
  7. jquery.d。ts编译失败:TsLint:超过最大行
  8. 使用hibernate和vraptor通过POST插入带有
  9. Jquery活不在IE中工作
  10. 我做的第一个JQuery图片切换,希望大家多多