dreamcat/framework_swoole

喵框架核心支持swoole的版本

v0.1.1 2019-12-04 09:08 UTC

This package is auto-updated.

Last update: 2024-09-13 13:55:37 UTC


README

介绍

喵框架核心支持swoole的版本

安装教程

composer require dreamcat/framework_swoole

使用说明

使用如下代码即可。注意,为了尽量避免不必要的重启,尽可能使用reload,一定不要在start之前引入autoload.php。

<?php
use DreamCat\FrameSwoole\SwooleEntrance;

require_once "src/main/SwooleEntrance.php";

SwooleEntrance::start();

基于上述代码,除了修改以下文件外,无需重启服务:

  • 入口文件
  • src/main/SwooleEntrance.php
  • configs/swoole.php
  • cache/configs/swoole.php

配置说明

swoole.php

为了尽量减少必须重启进程的需要,swoole启动前引入的文件将尽量少,所以启动前必须读取的配置就独立放在configs/swoole.phpcache/configs/swoole.php中。

  • host string 可选,默认值 127.0.0.1,用来指定监听的IP地址。如127.0.0.1,或者外网地址,或者0.0.0.0监听全部地址。
  • port int 可选,默认值 0,监听的端口。如果使用0则会随机使用一个可用端口号,并将端口号写入cache/swoole.port文件中。
  • name string 可选,默认值 cat_frame_swoole,进程名前缀。
  • configReader string 可选,默认值 DreamCat\FrameSwoole\Factory\Impl\SwooleConfigReader。配置读取器创建工厂类,必须实现接口DreamCat\FrameSwoole\Factory\ConfigReaderFactory
  • containerFactory string 可选,默认值 DreamCat\FrameSwoole\Factory\Impl\SwooleContainerFactory。容器工厂的工厂类,必须实现接口DreamCat\FrameSwoole\Factory\RegeditContainerFactoryFactory
  • settings array 可选,可填的字段和相应值参考swoole选项文档,执行时会直接将此字段传入set方法。在不进行配置的情况下下述字段会设置为默认值:
    • reactor_num SWOOLE_CPU_NUM * 2
    • worker_num SWOOLE_CPU_NUM * 2
    • daemonize 1
    • log_file 项目根目录下的cache/logs/swoole.log
    • log_level 4,即_SWOOLE_LOG_WARNING
    • pid_file 项目根目录下的cache/swoole_server.pid

swooleModify.php

用来调整某些不适用于swoole的配置,会覆盖config.php

todo

  1. 直接配置为bean的池子,而不用自己写工厂方法
  2. 加入自定义Worker进程类
  3. 加入自定义启动事件
  4. 加入task体系