# worker-rookie **Repository Path**: wyq/worker-rookie ## Basic Information - **Project Name**: worker-rookie - **Description**: worker-rookie:基于swoole的轻量级异步任务框架,10分钟即可搭建你的异步任务服务 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2020-04-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **worker-rookie:基于swoole的轻量级异步任务框架,10分钟即可搭建你的异步任务服务** **author:fukayao** **date:2020-4-14** **email:1982104592@qq.com** **功能:** 多应用配置管理
命名空间自动加载
redis缓存
自定义路由
日志分割
业务模块数据隔离
秒级定时任务(支持协程与进程两种模式)
消息队列服务(支持多进程消费消息)
目录结构: ```code ├─apps 应用层目录 │ ├─api api应用目录 │ ├─console 命令(定时任务)应用目录 │ ├─config 配置目录 ├─router api路由配置目录 ├─runtime 运行和日志目录 ├─scripts 服务脚本目录 ├─system 系统层目录 │ ├─commons 系统公共目录 │ ├─datalevels 数据目录 │ ├─services 业务逻辑目录 │ ├─workerbase 框架基础类库目录 ``` 项目部署:
1、修改config.php配置文件中的php命令路径 ```code //php命令路径 "phpbin" => "/usr/local/php/bin/php", ``` 2、修改config.php中的mysql数据库和redis连接,或者用env.php覆盖默认配置 ```code '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、运行服务 ```code cd scripts/ //运行定时任务 sh crond.sh start //停止定时任务 sh crond.sh stop //重启定时任务 sh crond.sh restart //运行队列服务 sh workerServer.sh start //停止队列服务 sh workerServer.sh stop //重启队列服务 sh workerServer.sh restart //同时运行定时任务与worker队列服务 sh server.sh start //同时停止定时任务与worker队列服务 sh server.sh stop //同时重启定时任务与worker队列服务 sh server.sh restart ``` 4、无人值守 ```code //linux中/etc/crontab添加定时任务, #每分钟尝试启动一次swoole定时任务和worker队列服务 */1 * * * * root sh 项目根目录绝对路径/scripts/server.sh start //或者直接运行脚本安装以上内容 ./installCrontab ``` 5、nginx路由重写 ```code location / { try_files $uri $uri/ /index.php$is_args$args; } ```