为了处理大量的工作,我运行可变数量的队列工作者,具体取决于完成的工作量.我不想在完成我们认为合适的时间段内完成需要完成的工作之外运行更多的工人.

目前,我启动了5个守护程序队列工作程序用于测试目的,但是在生产中,这个数字可能介于25和25之间. 100名工人,可能更多.我知道在部署时,我必须首先通过使用php artisan down将框架置于维护模式来停止队列工作,因为–daemon标志导致框架仅在工作程序启动时加载,因此新代码不会在部署期间生效,直到工作人员重新启动.

如果我出于某种原因需要停止工作,我可以使用php artisan将应用程序置于维护模式,这将导致工作人员在完成当前工作(如果他们正在工作)工作后死亡.但是,有时我可能会在不将整个应用程序置于维护模式的情况下杀死工作人员.

有没有一种安全的方法来阻止工人继续处理他们当前的工作,然后在不将整个应用程序置于维护模式的情况下死亡?

基本上我需要的是一个php工匠队列:stop,其行为类似于php artisan队列:restart,但在作业完成后不会重新启动worker.

我在那里期待有一个像php工匠队列:停止命令,这样做,但似乎并非如此.

使用ps aux | grep php我能够为工作者获取进程ID,并且我可以通过这种方式终止进程,但我不想在处理作业的过程中终止进程.

谢谢.

解决方法:

我们已经在我们的应用程序中实现了类似的东西 – 但它并不是Laravel本身内置的东西.您必须通过向if块添加另一个条件来编辑this file,以便它可以调用stop函数.您可以通过在Worker类中设置一个静态变量来执行此操作,无论何时运行您必须执行的自定义命令(即php artisan queue:pause),或者通过在某处检查原子值(即将其设置为一些缓存,如redis,memcached,APC甚至MySQL,虽然这意味着你将使用相同的自定义命令设置这个while循环的每个循环一个MySQL查询.

标签:artisan,php,laravel,daemon,queue

来源: https://codeday.me/bug/20191006/1859435.html

php队列会停止执行吗,php – Laravel Artisan CLI安全地停止守护程序队列工作者相关推荐

  1. laravel artisan命令大全

    1.选项: 命令 中文 -h, --help 显示给定命令的帮助. 当没有给出命令时显示列表命令的帮助 -q, --quiet 不输出任何消息 -v, --version 显示此应用程序版本 --an ...

  2. laravel artisan命令汇总

    本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/3 首先我们通过php artisan list命令可以 ...

  3. laravel artisan 使用

    全局篇 查看artisan命令 php artisan php artisan list 查看某个帮助命令 php artisan help make:model 查看laravel版本 php ar ...

  4. laravel:artisan的基本使用

    php artisan list                                                                          /获取所有的arti ...

  5. 循环队列的顺序存储和实现(C语言)【循环队列】

    循环队列-队列的顺序表示和实现 循环队列的三种状态 循环队列-队列的顺序实现 (代码演示) CycleQueue.h CycleQueue.cpp main.cpp 测试结果 循环队列-队列的顺序表示 ...

  6. 数据结构 - 队列简介 及 1个简单的c语言链式队列代码实现

    1. 队列的定义 所谓队列(queue)就是一种能实现"先进先出"的一种线性存储结构. 跟栈有点类似,  例如栈只有1个出入口, 任何元素进入或者离开栈都必须经过同1个出入口(栈顶 ...

  7. python队列是线程安全的吗_python – 为什么我的多进程队列看起来不是线程安全的?...

    我正在构建一个运行另一个 Python程序的监视程序计时器,如果它无法从任何线程中找到签入,则关闭整个程序.这样,它最终将能够控制所需的通信端口.计时器的代码如下: from multiprocess ...

  8. c++ 优先队列_C/C++数据结构:队列结构最全解析!带你零基础入门队列结构

    前言 上一章节针对于C语言栈结构做了解析,不清楚的可以回顾一下. 本章节主要针对于C语言的基础数据结构队列做以解析. 数据结构之队列 队列是一种特殊的 线性表 ,特殊之处在于它只允许在表的前端(fro ...

  9. redis延迟队列 实现_灵感来袭,基于Redis的分布式延迟队列

    一.延迟队列 延迟队列,也就是一定时间之后将消息体放入队列,然后消费者才能正常消费.比如1分钟之后发送短信,发送邮件,检测数据状态等. 二.Redisson Delayed Queue 如果你项目中使 ...

最新文章

  1. android 解决getColor()方法过时
  2. apiclod 上传图片_apiCloud图片选择、处理、上传模块
  3. java png生成webp图片_PNG转WEBP格式的动态图
  4. OpenStack回顾和展望-2018
  5. 汽车电工及电子技术基础【2】
  6. linux alsa工具,浅析alsa-utils工具aplay, mplayer
  7. 求助,DatabaseError: (cx_Oracle.DatabaseError) ORA-00904: xiaoli: 标识符无效
  8. 二层交换机、三层交换机和路由器的区别
  9. 安装itunes需要管理员身份_iTunes安装失败 iTunes安装出错解决方法
  10. Word中怎么打分段函数?
  11. linux gtx驱动程序,Nvidia 418.43 发布,支持GeForce GTX 1660 Ti的Linux图形驱动程序
  12. 视频号运营玩法;以及视频号引流变现赚钱。丨国仁网络资讯
  13. Hoxx使用保姆级教程【附截图| 安卓苹果电脑】
  14. 【智能商业】看十年·曾鸣书院公开课:未来的商业是智能商业
  15. Tableau表计算(1):计算类型
  16. VB中API函数的调用
  17. jsqlparser 简介、中文文档、中英对照文档 下载
  18. iOS常见控件的基本使用
  19. pdf转换器绿色版软件
  20. 堆外内存及其在 RxCache 中的使用

热门文章

  1. B站Up主上传质量调优实践
  2. LeetCode——二分查找
  3. 微服务架构系列二:密码强度评测的实现与实验
  4. 腾讯游戏数据应用微服务实战
  5. apr_file_seek 踩坑
  6. 解剖 Nginx ·自动脚本篇(1)解析配置选项脚本 auto/options
  7. Kafka史上最详细总结
  8. springMVC——注解配置方式实现Helloworld
  9. 使用eclipse开发javaweb登录功能
  10. leetcode 813. Largest Sum of Averages | 813. 最大平均值和的分组(暴力递归->傻缓存->DP)