Skip to content

Clouda-team/rapid-tank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rapid-tank: nodejs开发与部署工具

NPM version

TANK 是一个集应用开发、测试、部署、监控为一体的nodejs应用执行框架

安装

$ sudo npm install rapid-tank -g

使用

使用方式:

$ rapid <command> path|pid|id  [args]

command为命令名称,path为启动/重启模块路径,如/home/www/service/start.js,pid为已启动的应用主进程pid,如29314,id为已启动/停止的应 用分配的id(自动分配),如app0。args为不同命令所接受的参数

支持的命令有:

####init: 生成应用基础目录结构(package.json start.js等)

####add:

如:

$ rapid add [rapid-]mysql

####start: 根据指定的path启动应用。start会尝试连接守护进程并发送启动应用的参数。如果守护进程未启动,则尝试启动。如:

$ rapid start /home/www/service/start.js

start接受的参数有:

  • -j{n} 指定worker数量,如: -j4。默认:4
  • --cov 启用coverage,统计代码覆盖率(安装rapid-coverage后该参数有效)。此扩展与cluster冲突,会禁用cluster
  • --cov_all 启用coverage并统计所有文件的代码覆盖率(包括node_modules)
  • --watch={n} 设置watchdog监控间隔,单位为秒。超过该时间内应用未发送keepalive,则进程被强制重启。如:--watch=8。默认:5s
  • -u{username} 设置守护进程的控制台用户名。如果控制台已经启动,则参数无效。如:-uroot。默认:admin
  • -p{password} 设置守护进程的控制台密码。如:-proot。默认:随机生成,请到/tmp/clouda-tankjs.out.log中查看当前密码

####restart:

根据path/pid/id重启应用。如:

$ rapid restart app0

restart接受的参数有:-j --cov --cov_all --watch,具体说明参考start命令

####list: 显示当前的应用列表

####ls: list的别名

####args: 显示命令的参数列表

####kill-daemon: 杀死守护进程

####-kd: kill-daemon的别名

####start-daemon:

启动守护进程。接受-u-p 参数

####-sd: start-daemon的别名

####test

执行单元测试。必须安装rapid-test后此命令方能生效。如果未指定path,或指定的path为目录,tankjs会尝试从当前目录或指定的目录中寻找test 目录,并执行其中的js文件。 test命令支持--cov--cov_all参数。除此之外test还支持以下参数:

  • --timeout={n} 指定单测的超时时间,单位为ms。如:--timeout=1000。默认:600ms
  • --report={port} 指定监听端口以输出测试结果。rapid-coverage等需要浏览器访问的扩展可以通过该端口实现。如:--report=8080。默认:随机分配

扩展的页面以http://host:port/extension-name/path形式访问,其中host为运行单测的机器地址,port为指定的端口,extension-name为扩展 名称,path为扩展的文件或接口地址。如:http://localhost:8080/rapid-coverage/report.html 当启用report功能后,单测执行完后进程并不立即退出,需要发送ctrl-c或访问http://host:port/exit以退出。

特性

###高性能

单机高达 6000q/s 请求分发 (8进程)

###高兼容性

兼容clouda、Express等任何开发框架

###Web控制台

强大的控制面板,可实时控制线上应用、监控流量

###可扩展性

完整的扩展机制,提供无限可能

###守护进程

采用看门狗式进程守护,防止应用死锁、误杀

###热部署

不终端当前请求处理情况下,重启应用

###HTTP API

支持其他语言动态控制应用(查询运行状态、动态调整进程数)

官网

访问 clouda+官网获得更多信息

Releases

No releases published

Packages

No packages published