thkinkphp5使用queue

2022-12-12 20:37:12 阅读:2 编辑
php think queue:work --queue=shopQueue --daemon
加入到队列(自己创建一个CoinsChangeQueue.php放在application/common/queue/CoinsChangeQueue.php)
   $data = [
            "user_id"=>228
        ];
        AddShopQueue(CoinsChangeQueue::class,$data);
application/common/queue/CoinsChangeQueue.php
<?php

namespace app\common\queue;

use app\model\User;
class CoinsChangeQueue extends BaseQueue
{

    public function handle($push_data)
    {

        $data = $push_data;
        $json = json_encode($data);
        print_r($json);
        $user = User::field("id,nickname,uniacid")->find($data["user_id"]);
        $user = objecttoarray($user);
        var_export($user);
        return true;
    }
}

宝塔下的脚本

  1. 要安装redis
  2. queue.sh 1).安装supervisord,(若未安装) 2).系统启动是可以自动启动supervisord 3).在/etc/supervisord.d目录下创建ini,
  3. 代码更新是否要queue:restart???
[program:zhyshop_sun_domain]
process_name=zhyshop_sun_domain%(program_name)s_%(process_num)2d
command=/www/server/php/71/bin/php think queue:work --queue=shopQueue --daemon  --tries=1 --memory=1024
autostart=true
autorestart=true
user=www
numprocs=1
redirect_stderr=true
directory=/mnt/vdb1/www/zhyframe.fzh.fun/public/addons/zhyshop_sun/
stdout_logfile=/tmp/zhyshop_sun_domain.log
测试使用
cd /mnt/vdb1/www/zhyframe.fzh.fun/public/addons/zhyshop_sun
/www/server/php/71/bin/php think queue:listen --queue=shopQueue  --tries=1 --memory=1024