亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

SHELL腳本保護PHP腳本不掛掉守護進程實例

2020-03-22 20:02:06
字體:
來源:轉載
供稿:網友
  • 以下是對用shell腳本作為保證PHP腳本不掛掉的守護進程實例進行了分析介紹,需要的朋友可以參考下

    前幾天開始跑一份數據名單,名單需要提供用戶名、是否有手機號、是否有郵箱,用戶名單我輕易的獲取到了,但是,用戶名單有2000w之多,并且去檢測用戶是否有手機號、是否有郵箱必須得通過一個對外開放的安全接口一個一個用戶去請求,然后分析返回值才能知道。

    下面是我處理的方案:
    1、將2000w名單保存到臨時數據表
    2、用PHP程序每次從該表獲取500個用戶,檢測完后生成SQL update原紀錄
    3、為了防止PHP程序突然斷掉,用shell腳本每隔1分鐘檢測,PHP掛掉了則重啟
    我使用shell腳本作為守護進程的原因是,手機與郵箱的檢測接口速度慢,不可能在1~2天將2000w用戶檢測完。

    方案詳細
    1、臨時保存用戶名單表users,表結構如下:


    CREATE TABLE `users` (`account` varchar(50) COMMENT '用戶名',`has_phone` tinyint(3) unsigned NOT NULL default '0' COMMENT '是否有手機號',`has_email` tinyint(3) unsigned NOT NULL default '0' COMMENT '是否有郵箱',`flag` tinyint(3) unsigned  NOT NULL default '0' COMMENT '標志位',PRIMARY KEY  (`account`),KEY `flag` (`flag`)) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='名單表';

    我先將2000多w用戶名導入到這個臨時表,has_phone與has_email這二個字段默認都是0(沒有),標志位flag說明該用戶是否已經檢測完。
    下面是一部分表數據:
    9873aaa,0,0,0
    adddwwwd876222,0,0,0
    testalexlee,0,0,0
    codejia.net,0,0,0
    haohdouywaa21,0,0,0

    2、PHP腳本check_users.php
    將 用戶名單導入到表之后,再寫一個簡單的PHP腳本,思路是這樣的:每次循環從表取flag=0的500個用戶,然后請求接口判斷用戶是否有手機號、郵箱, 生成一條SQL,保存到一個SQLS數組里,等500個用戶全部檢測完了之后,循環SQLS數組,更新表里這500個名單,并將flag標志位設置為1, 表示已經檢測完,下次就不獲取了。
    由于PHP腳本代碼較長,這里分享下簡單的代碼說明:


    <?phphtml' target='_blank'>class Users{private $data;private $sqls;private $nums;         //判斷是否有500用戶private $total_nums;   //當前已經檢測完的用戶數量//每次取500個用戶private function getUsers(){...}//檢測這500個用戶并生成SQLprivate 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這個變量,是因為剛開始跑這個腳本的時候,發現只跑完了4w多條腳本就掛球了,后來一看,是因為連接數據庫沒連上,腳本一直掛在那里。加上這個變量也無法解決這個問題,只是在每次跑完1w個用戶之后,PHP腳本退出,再由下面的shell腳本重新啟動。3、shell腳本作為守護進程
    我把這個shell腳本加到了crontab里邊,每隔1分鐘執行一次,這個shell腳本很簡單,檢測check_users.php是否存在進程id,如果存在,則說明PHP腳本還在運行,shell腳本不做任何操作;如果不存在,則說明PHP腳本已經exit(0)跑完了1w用戶退出了,那么shell腳本啟動該腳本,進入下一個1w用戶名單的檢測。
    上面我有講到,如果PHP腳本在連接數據庫的時候,無法連接上的時候,PHP會一直掛球在那里,無法退出了。我在shell腳本里加了一個時間檢測,當PHP腳本進程存在的時候,計算已經存在了多長時間,如果超過了我預想的時間,則將PHP腳本kill掉,再重啟。

    開頭的舉例數據,結果類似如下:
    testalexlee,1,0,1
    codejia.net,0,0,1
    haohdouywaa21,1,1,1
    9873aaa,0,1,1
    adddwwwd876222,1,0,1

    說在最后:以上用戶名單數據只是舉個栗子,不要太認真,2000w數據,我估計要跑一段時間了,因為檢測接口比較慢,接口在接到請求后還要連表,查表,再返回。其實,最好的方法還是直接從接口請求的表拉一份名單出來,再用shell命令處理下很快就有結果了,可是在公司就是這樣,有些東西不開放的,你懂的~~~

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    欧美丰满片xxx777| 7m精品福利视频导航| 91久久精品美女| 97视频在线观看免费| 国产成一区二区| 黄色成人av网| 黄色一区二区在线| 亚洲精品www久久久久久广东| 2025国产精品视频| 国产一区二区av| 亚洲精品97久久| 欧美成人免费网| 国产精品视频最多的网站| 久久韩剧网电视剧| 中文字幕自拍vr一区二区三区| 国产精品久久久久9999| 激情成人中文字幕| 国产精品成人国产乱一区| 日韩电影中文字幕在线| 国产专区精品视频| 亚洲一区二区久久久| 国产在线视频2019最新视频| 日韩av不卡电影| 成人综合国产精品| 亚洲欧美日韩中文在线| 日韩av在线一区| 久久久免费在线观看| 亚洲人在线观看| 成人精品在线视频| 日韩在线播放一区| 美女扒开尿口让男人操亚洲视频网站| 国产精品狼人色视频一区| 在线免费观看羞羞视频一区二区| 另类图片亚洲另类| 亚洲影视中文字幕| 日av在线播放中文不卡| 日韩免费高清在线观看| 亚洲国产成人久久| 亚洲欧美激情另类校园| 国内精品久久影院| 青青草99啪国产免费| 自拍亚洲一区欧美另类| 精品久久久香蕉免费精品视频| 一本色道久久综合狠狠躁篇的优点| 久久国产精品网站| 色av吧综合网| 日韩小视频在线| 欧美限制级电影在线观看| 亚洲欧美在线看| 91香蕉嫩草神马影院在线观看| 欧日韩不卡在线视频| 成人黄色大片在线免费观看| 亚洲午夜国产成人av电影男同| 97碰碰碰免费色视频| 欧美性高潮在线| 久久99久久99精品中文字幕| 色婷婷成人综合| 26uuu亚洲国产精品| 国产精品男女猛烈高潮激情| zzjj国产精品一区二区| 国产亚洲精品久久| 色偷偷亚洲男人天堂| 91免费高清视频| 91夜夜未满十八勿入爽爽影院| 亚洲黄色成人网| 亚洲人成网站999久久久综合| 亚州av一区二区| 亚洲精品久久久久久久久久久久久| 欧美多人乱p欧美4p久久| 欧美在线中文字幕| 亚洲美女自拍视频| 亚洲一区二区久久久久久| 亚洲成人精品久久| 国产精品国模在线| 国产一区二区三区在线播放免费观看| 国产精品成人av在线| 国产精品在线看| 免费不卡欧美自拍视频| 欧美激情一区二区三区在线视频观看| 国产91精品久久久久| 免费91麻豆精品国产自产在线观看| 欧美夫妻性视频| 成人亚洲激情网| 韩国三级电影久久久久久| 国产专区欧美专区| 欧美大奶子在线| 久久久久久久久久久91| 久久久影视精品| 麻豆国产va免费精品高清在线| 日韩av在线资源| 欧美人在线视频| 欧美性猛交xxx| 91精品国产91久久久久久吃药| 亚洲最大成人免费视频| 亚洲午夜小视频| 国产精自产拍久久久久久蜜| 欧美裸体xxxxx| 国产91对白在线播放| 国语对白做受69| 视频在线一区二区| 国产精品大片wwwwww| 国产欧美一区二区三区在线| 欧美精品一区在线播放| 国产欧美精品久久久| 高清欧美一区二区三区| 成人av在线天堂| 亚洲欧洲国产精品| 日本一区二区三区四区视频| 亚洲一区二区久久久久久| 亚洲成人av片在线观看| 91高清免费在线观看| 法国裸体一区二区| 久久综合伊人77777尤物| 欧美国产日本高清在线| 亚洲欧美精品一区二区| 国产精品偷伦视频免费观看国产| 国产精品jizz在线观看麻豆| 国产精品国产三级国产专播精品人| 国产精品一香蕉国产线看观看| 亚洲第一区中文字幕| 最近2019中文字幕第三页视频| 精品久久久久久国产| 4438全国成人免费| 国产精品99久久久久久久久久久久| 久久这里有精品视频| 日本午夜在线亚洲.国产| 亚洲精品电影在线| 精品久久香蕉国产线看观看亚洲| 日韩电影中文字幕在线| 97超级碰在线看视频免费在线看| 亚洲午夜av久久乱码| 欧美午夜丰满在线18影院| 91精品国产91久久久| 亚洲**2019国产| 亚洲最大av在线| 成人xxxx视频| 国产玖玖精品视频| 国产主播喷水一区二区| 中文字幕日韩欧美| 亚洲精品第一国产综合精品| 欧美中文字幕在线视频| 国产精品扒开腿做爽爽爽视频| 成人国产精品久久久| 日本高清不卡在线| 国产成人中文字幕| 国产精品专区一| 欧美一区二粉嫩精品国产一线天| 在线亚洲午夜片av大片| 国产一区二区美女视频| 国产欧美日韩精品专区| 午夜精品久久久久久99热软件| 91色视频在线导航| 69视频在线播放| 91精品国产高清| 热门国产精品亚洲第一区在线| 欧美激情中文字幕乱码免费| 亚洲欧美一区二区精品久久久| 伊人男人综合视频网| 国产剧情日韩欧美| 亚洲xxxx18| 欧美在线激情视频| 欧美性高潮在线| 波霸ol色综合久久| 久久777国产线看观看精品|