codecamp

启动与停止

上面的例子中,爬虫是以普通模式运行的,上面的代码放在网站项目中,也可以正常执行,如果我们想让爬虫一直执行,就需要使用守护进程模式。同样是上面的代码,我们只需要把执行的命令增加一个 start 参数,即会变成守护进程模式。

$ php start.php start

需要说明的是,普通模式下不依赖队列,爬虫只爬取 seed 中得地址,依次爬取完成后,程序即结束。而守护进程模式需要另外开启队列(内存队列、Redis 队列等),但拥有更多的功能,如可以自动发现页面中的链接加入队列,循环爬取。以下是守护进程模式下的说明。

启动

// 启动爬虫,开启所有爬虫进程
$ php start.php start

停止

// 停止爬虫,关闭所有爬虫进程
php start.php stop

清理

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

<p class="danger"> 在守护模式中,如果需要使用数据库、redis 等连接,需要在各种回调函数中建立连接,否则可能会发生意想不到的错误。<br> 建议使用单例模式,并在 startWorker 中关闭之前建立的连接。 </p>

Beanbun 快速开始
例子
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Beanbun 类

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }