一、在docker-compose.yml文件中追加

worker:
    image: php8.fpm-containers
    container_name: dev-worker
    working_dir: /www/cms.mailangnet.com   #项目路径
    #command: php artisan queue:work redis --queue=sms_user_content_queue --sleep=3 --tries=3 --timeout=90
    command: php artisan queue:work --sleep=3 --tries=3 --timeout=90 #执行的队列是队列名称为default的队列
    volumes:
      - D:\dev-server\wwwroot:/www
    depends_on:
      - redis
      - postgres
    networks:
      dev-network:
        ipv4_address: 172.28.0.20
    restart: always

注:如果不使用默认的队列名default而是使用sms_user_content_queue队列名,那么command需要这么修改:

command: php artisan queue:work redis --queue=sms_user_content_queue --sleep=3 --tries=3 --timeout=90

如果多个队列可以使用逗号隔开,例如(queue_a、queue_b、queue_c):

php artisan queue:work redis --queue=queue_a,queue_b,queue_c --sleep=3 --tries=3 --timeout=90

如果队列名不确定,可以约定前缀(统一前缀 + 通配监听):

php artisan queue:work redis --queue=sms_user_content_* 

二、进入docker命令运行

win+R进入dos命令,执行下面命令

docker-compose up -d --build

查看docker界面是否存在dev-work的容器,且开启

查看启动日志:docker logs -f dev-worker

三、进入redis查看队列

1、进入redis容器。win+R进入dos命令,执行下面命令

docker exec -it dev-redis redis-cli

2、查看队列。显示127.0.0.1:6379在执行下面命令

keys *

更多推荐