关于Laravel的任务调度(定时任务)的配置在此不做赘述,跟着官方文档一步一步的操作是不会导致定时任务不能正常工作的。

为保证能及时捕获定时任务执行出现异常的原因,只需在配置系统crontab时指定日志文件即可。在执行中出现的任何问题都将会记录在你指定(任意区域,需注意权限)的日志当中。这对于寻找问题原因来说,是极为方便的。

* * * * * cd /path-to-your-project && php artisan schedule:run >> 你的日志文件位置.log 2>&1

以上定时任务确是每分钟执行一次,因此无论成功失败,你都会在你指定的日志中看见最新的输出信息。可使用以下指令查看日志中的输出:

tail -f 你的日志文件位置

以上,就能帮助你很快的捕捉到为何你的Laravel定时任务未执行的原因。除此之外,有一个建议是:在将你的定时任务部署到机器上之前,你应该先通过:

php artisan schedual:run

命令来运行一下你的任务,这样可以在开发阶段就能将大部分的问题都处理掉。当然前提是,调用的任务是每分钟执行的,否则的话,该命令只有在符合你所定义的时间间隔时才会去执行你的任务。

最后,提及一个我自己遇到的问题。若你使用root账户创建了定时任务,则无需在定时任务脚本中加入root账户名称。如下:

* * * * * root cd /path-to-your-project && php artisan schedule:run >> 你的日志文件位置.log 2>&1

在我的ubuntu机器上,这样做直接会报错:

/bin/sh:root:command not found

接原因是使用root账户创建crontab定时任务后,该定时任务文件就保存在了/var/spool/cron/root中,因此无需再指定root账户。

文中难免有疏漏,若存在,烦请责正!

PS:以上文中所有指令均为手打,在此不对指令拼写的正确性与各平台的适用性做任何保证。若出现相关问题,烦请自行bing。

记一次Laravel 定时任务schedul:run未执行的处理的更多相关文章

  1. Laravel 定时任务 任务调度 可手动执行

    1.创建一个命令 php artisan make:command TestCommand 执行成功后会提示: Console command created successfully. 生成了一个新 ...

  2. 记一次Laravel定时任务导致日志没有写入权限的坑

    问题:用laravel开发定时任务时,发生了日志没有写入权限导致项目打不开的问题 原因:linux的添加定时任务时默认是当前登录用户,我定时任务会生成日志 crontab: kernel: 生成日志的 ...

  3. laravel定时任务

    原文链接:https://github.com/liebig/cron 感觉Cron只是帮你将很多需要定时执行的任务都归结在一个方法中,并且各自设定不同的时间,比较统一方便,但是在外部还是需要操作li ...

  4. 记一次ElasticSearch重启之后shard未分配问题的解决

    记一次ElasticSearch重启之后shard未分配问题的解决 环境 ElasticSearch6.3.2,三节点集群 Ubuntu16.04 一个名为user的索引,索引配置为:3 primar ...

  5. flock防止crontab脚本周期内未执行完重复执行(转)

    如果某脚本要运行30分钟,可以在Crontab里把脚本间隔设为至少一小时来避免冲突.而比较糟的情况是可能该脚本在执行周期内没有完成,接着第二个脚本又开始运行了.如何确保只有一个脚本实例运行呢?一个好用 ...

  6. 如何让linux定时任务crontab按秒执行

    如何让linux定时任务crontab按秒执行? linux定时任务crontab最小执行时间单位为分钟如果想以秒为单位执行,应该如何设置呢?思路 正常情况是在crontab中直接定义要执行的任务,现 ...

  7. jsp中一个标签两种方式绑定两个click事件导致未执行的问题

    近日,在开发过程中,写了一个标签 <li id="a1" onclick="doSomething()">...</li> 在js页面中 ...

  8. Oracle 11g 安装过程中“检查网络配置要求 未执行”解决方法

    正在检查网络配置要求... 检查完成.此次检查的总体结果为: 未执行 网上查了一下,很多朋友都遇到这个问题而无从下手,其实解决起来很容易的. 只需要在 Windows XP 中安装 Microsoft ...

  9. Erlang的gen_server的terminate()/2未执行

    官方资料参考: Module:terminate(Reason, State) Types: Reason = normal | shutdown | {shutdown,term()} | term ...

随机推荐

  1. Mysql8- Public Key Retrieval is not allowed

    在使用 MySQL 8.0 时重启应用后提示 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public ...

  2. 在Linux上下载和安装AAC音频编码器FAAC

    Linux上FAAC的安装 安装 下载 http://downloads.sourceforge.net/faac/faac-1.28.tar.gz 解压 tar zxvf faac-1.28.tar ...

  3. javaScript 例子

    1.a标签调用js的几种方法 a href="javascript:void(0);" onclick="js_method()" a href="# ...

  4. VS Code 设置双快捷键(快速移动光标)

    平时写代码会经常用到上下左右键,比如打出两个括号 () ,编辑完之后得按到右括号后面 难免有这样的场景需要在编辑代码的时候小范围地移动光标,笔者在别的ide的习惯是通过“alt + jkli”来实现光 ...

  5. jsp页面转换时间戳

    <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <fmt:fo ...

  6. 07-求解Ax=0:主变量、特解

    一.定义转向算法 在第六节讲了空间,列空间,零空间的定义,这节主要讲解如何求出这些空间,即求解$Ax=0$的过程是怎么样的过程,以下面的矩阵$A$为例:(这里主要是长方阵) $A=\left[\beg ...

  7. python内存分析

    安装 首先安装memory_profiler和psutil pip install memory_profiler pip install psutil 在需要分析的函数前面添加装饰器@profile ...

  8. Vue.js 技术揭秘学习 (2) Vue 实例挂载的实现

    Vue 中我们是通过 $mount 实例方法去挂载 vm 的 $mount 方法实际上会去调用 mountComponent 方法,mountComponent 核心就是先实例化一个渲染Watcher ...

  9. 学习python os commands socket模块

    import os print(os.getcwd()) #获取当前路径, 导包也是从这个路径下面才能找到 # os.chdir('./..') #返回上一级路径,再获取路径看看 # print(os ...

  10. php注解

    官方全部注解:https://docs.phpdoc.org/references/phpdoc/tags/index.html 1.@var 您可以使用@var标记来记录属性的“类型”,有时也称为类 ...