flag=0 的 500
个用户,然后请求接口判断用户是否有手机号、邮箱, 生成一条 SQL,保存
到一个 SQLS 数组里,等 500 个用户全部检测完了之后,循环 SQLS 数组,更新表里这
500 个名单,并将 flag 标志位设置为 1
, 表示已经检测完,下次就不获取了。
由于 PHP 脚本代码较长,这里分享下简单的代码说明:
代码如下:
<?php
class
Users{
private
$data
;
private
$sqls
;
private
$nums
;
//判断是否有 500
用户
private
$total_nums
;
//
当前已经检测完的用户数量
//每次取 500
个用户
private
function
getUsers(){...}
//检测这 500 个用户并生成 SQL
private
function
checkUserInfo(){...}
//更新这 500
个用户
private
function
updateUserInfo(){...}
//
运行
public
function
run(){
$flag
= true;
while
(
$flag
){
if
(
$this
->nums != 500){
$flag
= false; }
if
(
$this
->total_nums == 10000){
exit
(0);
//跑完 1w
个用户就退出,由守护进程启动
}
$this
->getUsers();
$this
->checkUserInfo();
$this
->updateUserInfo();
sleep(1);
//跑完 500 用户休息 1
秒,保护用户检测接口
}
}
}
$user
=
new
Users();
$user
->run();
?>
上面是简洁版的 PHP 脚本,大概意思到了,刚开始的版本是没有
$total_nums
这个变量,