app开发者平台在数字化时代的重要性与发展趋势解析
864
2022-11-15
CentOS Nginx crontab 定时执行PHP代码命令任务(tp5.1 tp6 EasyTask) 每天重启执行PHP自定义命令
某个网站,需要执行自己写的定时任务,需要定时执行PHP命令
例子:TP5.1 安装插件 PHP常驻内存定时器 easy-task任务
PHP常驻内存定时器 easy-task/easy-task—— EasyTask: PHP常驻内存多进程任务管理器,支持定时任务(PHP resident memory multi-process task manager, supports timing tasks)
easy-task任务设置好定时执行任务后会每天自动执行事务,但是总是执行一段时间后,发现在执行的事务没有执行,
一、猜测:
可能执行的事务有太多数据,进程不能按时关闭,卡内存,过一段时间慢慢过多,就造成了执行不了。
二、解决的办法:
测试:发现每次用shell命令重启这些定时任务,重启那段时间定时任务都正常,过段时间就又不行
解决办法思路:如果每天都自动把这些定时重启一次(相当用shell命令重启),那就解决了吗?
三、设置
3.1 运行定时任务
查看crontab定时任务列表:cat /var/spool/cron/root查看crontab定时任务位置:cd /var/spool/cron/
09 07 * * * cd /data/think timedtasks stop force >> /data/2>&110 07 * * * cd /data/think timedtasks start >> /data/2>&1
/data/:自己网站根目录,是绝对路径,不是相对路径
easy-task任务 执行命令
php think task start 启动命令 php think task status 查询命令 php think task stop 关闭命令 php think task stop force 强制关闭命令
/data/记录上面两个命令的日志,看看运行情况
错误:/bin/sh: php: command not found
如果/Task/Log/1.txt中有这个错误:说明没有系统PATH没有配置或配置不全
解决方法:
ln -s /usr/local/php56/bin/php /usr/bin/php或ln -s /usr/local/php/bin/php /usr/bin/php
/usr/local/php56/bin/php 是服务器PHP安装路径,这些情况多数是服务器安装多个PHP版本
ln -s /usr/local/php/bin/php /usr/bin/php 这种是服务器只安装了一个PHP版本
查看easy-task任务日志路径:/data/wwwroot/default/xxx-/runtime/Task/Log
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~