第四步:进行业务配置

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,
    ),
    'task' => array(
        'method'          => 'get',
        'crawl_interval'  => 1,
        'max_depth'       => 1,
        'max_number'      => 1000,
        'max_request'     => 1000,
        'compress'  => array(
            'enabled'   =>  true,
            'algorithm' => 'gzip',
        ),
        'limit_domains' => array(
        ),
        'url' => array(
            "r1" => "http://www.weather.com.cn/weather/101010100.shtml",
        ),
        'context' => array(
        ),
   ),
);

其实该配置大部分参数都用不到,会自动读取引擎默认值,所以可根据需求将配置简化为:

return array(
    'task' => array(
        'url' => array(
            "r1" => "http://www.weather.com.cn/weather/101010100.shtml",
        ),
    ),
);
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,
        ),
    ),
);

results matching ""

    No results matching ""