woo
所属分类:collect
开发工具:Common Lisp
文件大小:0KB
下载次数:0
上传日期:2023-07-07 07:02:37
上 传 者:
sh-1993
说明: libev之上的快速非阻塞HTTP服务器,
(A fast non-blocking HTTP server on top of libev,)
文件列表:
.travis.yml (1205, 2023-12-20)
LICENSE.txt (1071, 2023-12-20)
benchmark.md (10985, 2023-12-20)
benchmark/ (0, 2023-12-20)
benchmark/go/ (0, 2023-12-20)
benchmark/go/hello.go (325, 2023-12-20)
benchmark/go/run (138, 2023-12-20)
benchmark/hunchentoot/ (0, 2023-12-20)
benchmark/hunchentoot/run (707, 2023-12-20)
benchmark/node/ (0, 2023-12-20)
benchmark/node/run (797, 2023-12-20)
benchmark/phusion-passenger/ (0, 2023-12-20)
benchmark/phusion-passenger/run (166, 2023-12-20)
benchmark/racket/ (0, 2023-12-20)
benchmark/racket/hello.rkt (836, 2023-12-20)
benchmark/racket/run (81, 2023-12-20)
benchmark/racket/typed-hello.rkt (1577, 2023-12-20)
benchmark/run-benchmark (527, 2023-12-20)
benchmark/tornado/ (0, 2023-12-20)
benchmark/tornado/run (359, 2023-12-20)
benchmark/unicorn/ (0, 2023-12-20)
benchmark/unicorn/app.ru (246, 2023-12-20)
benchmark/unicorn/config.rb (59, 2023-12-20)
benchmark/unicorn/nginx.conf (295, 2023-12-20)
benchmark/unicorn/run (101, 2023-12-20)
benchmark/woo/ (0, 2023-12-20)
benchmark/woo/hello.ros (1158, 2023-12-20)
benchmark/woo/run (94, 2023-12-20)
benchmark/wookie/ (0, 2023-12-20)
benchmark/wookie/run (421, 2023-12-20)
clack-handler-woo.asd (164, 2023-12-20)
images/ (0, 2023-12-20)
images/benchmark-multicore.png (149932, 2023-12-20)
images/benchmark.png (150501, 2023-12-20)
... ...
# Woo
[![Build Status](https://travis-ci.org/fukamachi/woo.svg?branch=master)](https://travis-ci.org/fukamachi/woo)
Woo is a fast non-blocking HTTP server built on top of [libev](http://software.schmorp.de/pkg/libev.html). Although Woo is written in Common Lisp, it aims to be the fastest web server written in any programming language.
## Warning
This software is still BETA quality.
## How fast?
![Benchmark graph](images/benchmark.png)
See [benchmark.md](benchmark.md) for the detail.
## Usage
### Start a server
```common-lisp
(ql:quickload :woo)
(woo:run
(lambda (env)
(declare (ignore env))
'(200 (:content-type "text/plain") ("Hello, World"))))
```
### Start with Clack
```common-lisp
(ql:quickload :clack)
(clack:clackup
(lambda (env)
(declare (ignore env))
'(200 (:content-type "text/plain") ("Hello, World")))
:server :woo
:use-default-middlewares nil)
```
### Cluster
```common-lisp
(woo:run
(lambda (env)
(declare (ignore env))
'(200 (:content-type "text/plain") ("Hello, World")))
:worker-num 4)
```
## Signal handling
When the master process gets these signals, it kills worker processes and quits afterwards.
- QUIT: graceful shutdown, waits for all requests are finished.
- INT/TERM: shutdown immediately.
## Benchmarks
See [benchmark.md](benchmark.md).
## Installation
Woo has switched the backend from cl-async to libev after the latest Quicklisp dist release. If you're gonna run the benchmarks by your own, please use the latest one.
### Requirements
* UNIX (GNU Linux, Mac, \*BSD)
* SBCL
* [libev](http://libev.schmorp.de)
### Installing via Quicklisp
```common-lisp
(ql:quickload :woo)
```
## See Also
* [libev](http://software.schmorp.de/pkg/libev.html)
* [Clack](http://clacklisp.org/)
* [Wookie](http://wookie.beeets.com)
## Author
* Eitaro Fukamachi (e.arrows@gmail.com)
## Copyright
Copyright (c) 2014 Eitaro Fukamachi & [contributors](https://github.com/fukamachi/woo/graphs/contributors)
## License
Licensed under the MIT License.
近期下载者:
相关文件:
收藏者: