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

