啟動與停止

2018-05-23 16:20 更新

上面的例子中,爬蟲是以普通模式運行的,上面的代碼放在網(wǎng)站項目中,也可以正常執(zhí)行,如果我們想讓爬蟲一直執(zhí)行,就需要使用守護進程模式。同樣是上面的代碼,我們只需要把執(zhí)行的命令增加一個 start 參數(shù),即會變成守護進程模式。

$ php start.php start

需要說明的是,普通模式下不依賴隊列,爬蟲只爬取 seed 中得地址,依次爬取完成后,程序即結(jié)束。而守護進程模式需要另外開啟隊列(內(nèi)存隊列、Redis 隊列等),但擁有更多的功能,如可以自動發(fā)現(xiàn)頁面中的鏈接加入隊列,循環(huán)爬取。以下是守護進程模式下的說明。

啟動

// 啟動爬蟲,開啟所有爬蟲進程
$ php start.php start

停止

// 停止爬蟲,關(guān)閉所有爬蟲進程
php start.php stop

清理

// 刪除日志文件,清空隊列信息
php start.php clean

<p class="danger"> 在守護模式中,如果需要使用數(shù)據(jù)庫、redis 等連接,需要在各種回調(diào)函數(shù)中建立連接,否則可能會發(fā)生意想不到的錯誤。<br> 建議使用單例模式,并在 startWorker 中關(guān)閉之前建立的連接。 </p>

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號