Tp6 queue队列 后台运行常驻程序解决方案

背景

实现直播PK中倒计时到点消息通知,但执行项目命令php think ~只能在当前控制台,要把执行命令放在后台运行常驻程序来消费队列中的任务。

方案

启动后台常驻程序

/*
* php think queue:work --queue livePkTask为TP6自定义命令
* /www/wwwlogs/output/livePkTask.log为输出的日志文件路径,文件夹需提前创建
* 2>&1 是将标准出错重定向到标准输出到对应的文件
*/

nohup php think queue:work --queue livePkTask > /www/wwwlogs/output/livePkTask.log 2>&1 &

查看后台运行进程

/*
* livePkTask 当前任务
*/
ps -ef|grep livePkTask

终止进程

  1. 实现一

用awk提取一下进程ID

ps -aux|grep livePkTask| grep -v grep | awk '{print $2}'
  1. 实现二

    //根据进程ID杀死进程
    kill -9  进程ID
    //根据进程名杀死进程
    ps -ef | grep 进程名/启动进程的命令 | grep -v grep | awk '{print $2}' | xargs kill -9

本文由 我爱PHP169 作者:admin 发表,其版权均为 我爱PHP169 所有,文章内容系作者个人观点,不代表 我爱PHP169 对观点赞同或支持。如需转载,请注明文章来源。

发表回复