记一次Laravel 定时任务schedul:run未执行的处理
关于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未执行的处理的更多相关文章
- Laravel 定时任务 任务调度 可手动执行
1.创建一个命令 php artisan make:command TestCommand 执行成功后会提示: Console command created successfully. 生成了一个新 ...
- 记一次Laravel定时任务导致日志没有写入权限的坑
问题:用laravel开发定时任务时,发生了日志没有写入权限导致项目打不开的问题 原因:linux的添加定时任务时默认是当前登录用户,我定时任务会生成日志 crontab: kernel: 生成日志的 ...
- laravel定时任务
原文链接:https://github.com/liebig/cron 感觉Cron只是帮你将很多需要定时执行的任务都归结在一个方法中,并且各自设定不同的时间,比较统一方便,但是在外部还是需要操作li ...
- 记一次ElasticSearch重启之后shard未分配问题的解决
记一次ElasticSearch重启之后shard未分配问题的解决 环境 ElasticSearch6.3.2,三节点集群 Ubuntu16.04 一个名为user的索引,索引配置为:3 primar ...
- flock防止crontab脚本周期内未执行完重复执行(转)
如果某脚本要运行30分钟,可以在Crontab里把脚本间隔设为至少一小时来避免冲突.而比较糟的情况是可能该脚本在执行周期内没有完成,接着第二个脚本又开始运行了.如何确保只有一个脚本实例运行呢?一个好用 ...
- 如何让linux定时任务crontab按秒执行
如何让linux定时任务crontab按秒执行? linux定时任务crontab最小执行时间单位为分钟如果想以秒为单位执行,应该如何设置呢?思路 正常情况是在crontab中直接定义要执行的任务,现 ...
- jsp中一个标签两种方式绑定两个click事件导致未执行的问题
近日,在开发过程中,写了一个标签 <li id="a1" onclick="doSomething()">...</li> 在js页面中 ...
- Oracle 11g 安装过程中“检查网络配置要求 未执行”解决方法
正在检查网络配置要求... 检查完成.此次检查的总体结果为: 未执行 网上查了一下,很多朋友都遇到这个问题而无从下手,其实解决起来很容易的. 只需要在 Windows XP 中安装 Microsoft ...
- Erlang的gen_server的terminate()/2未执行
官方资料参考: Module:terminate(Reason, State) Types: Reason = normal | shutdown | {shutdown,term()} | term ...
随机推荐
- Object of type 'ndarray' is not JSON serializable
Object of type 'ndarray' is not JSON serializable import numpy as np import json arr=np.asarray([345 ...
- Tensorflow学习笔记3:卷积神经网络实现手写字符识别
# -*- coding:utf-8 -*- import tensorflow as tf from tensorflow.examples.tutorials.mnist import input ...
- Shell脚本的fork炸弹
#!bin/bash#功能:快速消耗计算机资源,致使计算机死机#作者:liusingbon#定义函数名为.(点), 函数中递归调用自己并放入后台执行function . { .|.& };.
- 如何从mysql备份中提取单张表数据
1.先提取备份数据中的前50行出来,查看一下备份数据格式 head -50 bakdb.sql > head50.txt 类似下面的数据是我们所需要提取的: / ...
- rename 重命名文件
1. 使用范例 范例1: 批量修改文件名 [root@localhost data]# touch {a,b,c,d,e}.txt [root@localhost data]# ls a.txt ...
- ls 显示目录下的内容和文件相关属性信息
1.命令功能 ls命令是“list directory contents”,显示当前目录下的内容和文件属性. 2.语法格式 ls [option] file ls 选项 文件名 3.选项说明 ...
- substring c# js java
c# String.SubString(int index,int length) String.SubString(int start) 等效于 javascript stringObject.su ...
- 【容器化】容器技术实践.pdf_视频学习笔记
容器运行时 docker rkt gvisor containerd 容器编排系统:kubernetes (简称k8s)
- 线程中sleep和wait方法的区别
sleep() 方法: 线程主动放弃CPU,使得线程在指定的时间内进入阻塞状态,不能得到CPU 时间,指定的时间一过,线程重新进入可执行状态.典型地,sleep()被用在等待某个资源就绪的情形:测试发 ...
- Linux g++ 编译添加 pthread
If you are going to compile a C program with pthread.h in LINUX using GCC or G++ you will have to us ...