From 8a6638ea049a8b88d9329dd00dd72c8e2079d95f Mon Sep 17 00:00:00 2001 From: shaoying Date: Sat, 24 Mar 2018 16:41:48 +0800 Subject: [PATCH] =?UTF-8?q?mac=20add=20=E6=B7=BB=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 88618e40..5c73e8c3 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,22 @@ context: 终端工具链,各种实用的功能模块,通过简洁的接口 作为一个框架,通过模块式开发,可以快速开发各种应用软件。 +* 1 context安装 +* 1.0 context程序下载 +* 1.1 context源码安装 +* 2 context使用 +* 2.0 应用示例--启动WEB服务器 +* 2.1 常用命令 +* 2.2 web模块的命令 +* 3 context开发 +* 3.0 context模块开发入门 +* 3.1 context模块的生命周期与继承多态 +* 3.2 message消息驱动的开发模型 +* 3.3 message消息驱动的事件回调 +* 4 context核心模块详解 + ## 1 context安装 -### 1.0 context下载 +### 1.0 context程序下载 选择自己操作系统与处理器的类型对应的版本下载,直接运行即可。 https://github.com/shylinux/context-bin/raw/master/bench-linux-arm @@ -49,6 +63,34 @@ $ bench 打开浏览器输入"http://localhost:9090" ,即可看一个静态WEB服务器已经启动。 +#### 2.0.1 添加脚本 +bench支持脚本解析,可以添加启动脚本,这样就可以在启动的时候就运行一些命令,启动一些功能。 +在bench运行的当前目录创建一个目录etc,并添加了个启动脚本文件etc/init.sh,向脚本中添加如下命令。 +```sh +~web serve ./ ':9090' +``` +重新启动bench, 打开浏览器输入"http://localhost:9090" ,即可看一个静态WEB服务器已经启动。 + +#### 2.0.2 查看日志 +bench支持日志输出,可以通过日志查看历史记录和运行状态。 +在bench运行的当前目录创建一个目录var, 重新启动bench。 +再打开一个终端,进行bench的运行目录,并查看日志文件。 +```sh +$ tail -f var/bench.log +... +2018/03/24 16:33:38 22 start(ctx->cli) 2 server [etc/init.shy] [stdio] +2018/03/24 16:33:38 22 find(ctx->cli) find yac +2018/03/24 16:33:38 27 start(cli->yac) 3 server [] [] +2018/03/24 16:33:38 30 find(cli->yac) find lex +2018/03/24 16:33:38 34 start(yac->lex) 4 server [] [] +2018/03/24 16:33:38 22 find(ctx->cli) find nfs +2018/03/24 16:33:38 3932 cmd(ctx->cli) 1 source [etc/init.shy] [] +... +``` +日志的格式中有日期与时间,随后是消息编号,与日志类型,消息的发起模块与接收模块,之后就是消息的请求行与请求头参数。 +如第一行日志,消息编号为22,消息类型是start启动模块,是ctx发送给cli模块的消息。 +从日志中可以看出bench在启动时,启动了词法解析模块lex与语法解析模块yac,并加载了启动脚本etc/init.shy。 + ### 2.1 常用命令 #### 2.1.1 缓存管理cache ```sh @@ -688,6 +730,16 @@ Call()发送消息,命令执行完成后会调用参数的中的回调函数 为了看到执行结果,在send命令最后加了两秒的睡眼。 如果去掉send命令中的睡眠,send命令直接就结束。当回调函数再次被调用时,就看不到执行行结果了。 +```sh +$ go install src/example/bench.go +$ bench +demo> new one +one> context demo +demo> send one +hello world nice +``` + + ## 4 context核心模块详解 ### 4.0 ctx模块中心 ### 4.1 cli命令中心