现在的工作中,经常要写一些脚本做一些异步的操作。
一般是大量的数据修改,或者解决部分并发问题。
为了能够稳定的做好数据处理,一般情况下会用定时脚本的方式。
哈尔滨最好的大学那么问题来了。
当我们处理大量数据的时候,脚本的商品 英语执行时间可能很长,或者重复处理某条数据(写错的情况下)。
为了避免数据的重复处理、运行脚本过多导致服务器压力过大等问题,我们需要限制脚本的运行数量。
思路一
查询某种标识的进程数量,如果超过一定数量,则直接退出,不处理。
思路二
记录每次的pid,可以使用 文件、redis、memcached 等来员工职业化存储。
当启动一个新进程的时候,去查一下这个标识下面有哪些pid,是否还在运行,且教堂婚礼流程与当前标识有关系。
当超过一定数量的时候,直接退出,不处理。
思路一实践
这里通过 linux 的 ps、grep、wc 的命令来获取指定标识的运行进程数。
思路二实践
这里使用 redis 存储 pid 信息。
通过 /proc/{pid}/cmdline 文件检测指定进程是否还在运行。
关于标识,可能我们在运行一些定时脚本的时候,统一的部分可能就是 php 了;或者,拥有相同标识的脚本,我们要归为几类。
为了能够实现这些需求,我们可以通过 php 的内置函数 cli_t_process_title 来实现自定义 command。
demo.php:
这个时候,我们运行 demo.php,然后通过 ps ax 可以看到如下结果:
修改指定脚本的进程标题,我们就可以实现定义某些脚本的标识了。
没 bug 的功能,也可little最高级能出现 bug,我们需要更多的思考和设计减少这类错误的发生。
到此这篇关于php如何限制定时任务进程数量的文章就介绍到这了,更多相关php限制进程数量内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-09 02:50:25,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/fe527a8cecea6d0be21f8e73b816ea07.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP如何限制定时任务的进程数量.doc
本文 PDF 下载地址:PHP如何限制定时任务的进程数量.pdf
留言与评论(共有 0 条评论) |