第四步:进行业务配置
1、首先切换到应用配置目录:
cd Application/Spider/Weather/Config/
2、关于全局配置文件 global.php:
注意:这个文件一般无需改动,除非你要引入新的全局子配置文件。
3、关于全局子配置文件 database.php:
最终配置好的样板代码如下:
<?php
return array(
'redis' => array(
'prefix' => 'Weather',
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0,
),
);
4、关于全局子配置文件 main.php:
最终配置好的样板代码如下:
return array(
'language' => 'zh',
'multi_worker' => true,
'start' => array(
'WeatherProducer' => true,
'WeatherDownloader' => true,
'WeatherParser' => true,
),
//全局任务配置参数:每条任务也可以单独配置自己的context成员,最终采用merge合并覆盖策略
'task' => array(
'crawl_interval' => 1,
'max_depth' => 1,
'max_number' => 1000,
'max_request' => 1000,
'compress' => array(
'enabled' => true,
'algorithm' => 'gzip',
),
'limit_domains' => array(
),
),
//初始任务配置参数:既支持一维数组形式的单任务,也支持二维数组形式的多任务
'task_init' => array(
'url' => 'http://www.weather.com.cn/weather/101010100.shtml',
'method' => 'get',
'type' => 'text', //类型自由定制
'rule_name' => 'r1', //如果留空将使用md5($task_id)作为规则名
'refefer' => '',
'context' => array( //支持各种上下文参数设置,具体参考手册
'cache_enabled' => true,
'cache_directory' => '/tmp/DownloadCache4PHPCreeper/download/',
),
),
);
5、关于业务worker实例配置文件 AppProducer.php:
最终配置好的样板代码如下:
<?php
return array(
'name' => 'producer1',
'count' => 1,
'interval' => 1,
);
6、关于业务worker实例配置文件 AppDownloader.php:
最终配置好的样板代码如下:
<?php
return array(
'name' => 'downloader1',
'count' => 2,
'socket' => array(
'client' => array(
'parser' => array(
'scheme' => 'ws',
'host' => '127.0.0.1',
'port' => 8888,
),
),
),
);
7、关于业务worker实例配置文件 AppParser.php:
最终配置好的样板代码如下:
<?php
return array(
'name' => 'parser1',
'count' => 3,
'socket' => array(
'server' => array(
'scheme' => 'websocket',
'host' => '0.0.0.0',
'port' => 8888,
),
),
);