7 Star 15 Fork 6

符凯耀 / worker-rookie

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

worker-rookie

github地址

关于本项目

基于swoole的轻量级异步任务框架,10分钟即可搭建你的异步任务服务

author:fukayao

date:2020-4-14

email:1982104592@qq.com

环境依赖

  • PHP版本大于等于 5.6 (推荐PHP7及以上版本)
  • Posix、Pcntl和Swoole扩展
  • Swoole扩展版本不小于1.9.18(定时任务-进程模式;推荐使用进程模式)
  • Swoole扩展版本不小于4.2.9(定时任务-协程模式;需要PHP7以上版本)

致谢

功能

  • 多应用配置管理
  • 命名空间自动加载
  • redis缓存
  • 自定义路由
  • 日志分割
  • 业务模块数据隔离
  • 秒级定时任务(支持协程与进程两种模式)
  • 消息队列服务(支持多进程消费消息)

目录结构

├─apps                   应用层目录
│  ├─api                 api应用目录  
│  ├─console             命令(定时任务)应用目录

├─config                 配置目录
├─router                 api路由配置目录
├─runtime                运行和日志目录
├─scripts                服务脚本目录
├─system                 系统层目录
│  ├─commons             系统公共目录  
│  ├─datalevels          数据目录
│  ├─services            业务逻辑目录

├─workerbase             框架基础类库目录

项目部署

1、修改config.php配置文件中的php命令路径

    //php命令路径
    "phpbin" => "/usr/local/php/bin/php",

2、修改config.php中的mysql数据库和redis连接,或者用env.php覆盖默认配置

    'db'=> [
        'database_type' => 'mysql',
        'database_name' => 'test',
        'server' => '192.168.1.219',
        'username' => 'root',
        'password' => '',
        'charset' => 'utf8',
        // 可选参数
        'port' => 3306,
        // 可选,定义表的前缀
        'prefix' => '',
    ],

    'redis' => [
            //redis服务器地址
            'host'  => '192.168.1.219',
            //redis端口
            'port'  => '6379',
            //redis密码
            'password' => '',
            //连接超时
            'timeout' => 10,
            //持久链接
            'persistent' => true,
    ],

3、运行服务

    cd scripts/
    
    //运行定时任务
    bash crond.sh start
    //停止定时任务(后面加-t 1200参数,表示1200秒超时强制退出)
    bash crond.sh stop
    //重启定时任务(后面加-t参数,执行超时强制重启)
    bash crond.sh restart
    
    //运行队列服务
    bash workerServer.sh start
    //停止队列服务(后面加-t 1200参数,表示1200秒超时强制退出)
    bash workerServer.sh stop
    //重启队列服务(后面加-t参数,执行超时强制重启)
    bash workerServer.sh restart
    
    //同时运行定时任务与worker队列服务
    bash server.sh start
    //同时停止定时任务与worker队列服务(后面加-t参数,后台执行超时强制退出)
    bash server.sh stop
    //同时重启定时任务与worker队列服务(后面加-t参数,后台执行超时强制重启)
    bash server.sh restart
    
    

4、无人值守

  //linux中/etc/crontab添加定时任务,
  #每分钟尝试启动一次swoole定时任务和worker队列服务
  */1 * * * * root bash 项目根目录绝对路径/scripts/server.sh start
  
  //或者直接运行脚本安装以上内容
  ./installCrontab

5、nginx路由重写

   location / {
           try_files $uri $uri/ /index.php$is_args$args;
       }

空文件

简介

worker-rookie:基于swoole的轻量级异步任务框架,10分钟即可搭建你的异步任务服务 展开 收起
PHP 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
PHP
1
https://gitee.com/fu_kai_yao/worker-rookie.git
git@gitee.com:fu_kai_yao/worker-rookie.git
fu_kai_yao
worker-rookie
worker-rookie
master

搜索帮助