如何设置PHP定时任务进程数量的上限?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1056个文字,预计阅读时间需要5分钟。
前言+现在的工作中,经常要写一些脚本做一些异步的操作。一般是一大批量的数据修改,或者解决局部并行开发的问题。为了保证数据处理的稳定性,一般会使用定时脚本来处理。那么,问题来了?
前言
现在的工作中,经常要写一些脚本做一些异步的操作。
一般是大量的数据修改,或者解决部分并发问题。
为了能够稳定的做好数据处理,一般情况下会用定时脚本的方式。
那么问题来了。
可能存在的问题
当我们处理大量数据的时候,脚本的执行时间可能很长,或者重复处理某条数据(写错的情况下)。
为了避免数据的重复处理、运行脚本过多导致服务器压力过大等问题,我们需要限制脚本的运行数量。
如何做
思路一
查询某种标识的进程数量,如果超过一定数量,则直接退出,不处理。
思路二
记录每次的PID,可以使用 文件、redis、memcached 等来存储。
当启动一个新进程的时候,去查一下这个标识下面有哪些PID,是否还在运行,且与当前标识有关系。
当超过一定数量的时候,直接退出,不处理。
实践
思路一实践
这里通过 linux 的 ps、grep、wc 的命令来获取指定标识的运行进程数。
本文共计1056个文字,预计阅读时间需要5分钟。
前言+现在的工作中,经常要写一些脚本做一些异步的操作。一般是一大批量的数据修改,或者解决局部并行开发的问题。为了保证数据处理的稳定性,一般会使用定时脚本来处理。那么,问题来了?
前言
现在的工作中,经常要写一些脚本做一些异步的操作。
一般是大量的数据修改,或者解决部分并发问题。
为了能够稳定的做好数据处理,一般情况下会用定时脚本的方式。
那么问题来了。
可能存在的问题
当我们处理大量数据的时候,脚本的执行时间可能很长,或者重复处理某条数据(写错的情况下)。
为了避免数据的重复处理、运行脚本过多导致服务器压力过大等问题,我们需要限制脚本的运行数量。
如何做
思路一
查询某种标识的进程数量,如果超过一定数量,则直接退出,不处理。
思路二
记录每次的PID,可以使用 文件、redis、memcached 等来存储。
当启动一个新进程的时候,去查一下这个标识下面有哪些PID,是否还在运行,且与当前标识有关系。
当超过一定数量的时候,直接退出,不处理。
实践
思路一实践
这里通过 linux 的 ps、grep、wc 的命令来获取指定标识的运行进程数。

