background image

 

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

这个变量,