kopia lustrzana https://github.com/piku/piku
Docs
rodzic
b236e6ee29
commit
b6241b800c
22
DESIGN.md
22
DESIGN.md
|
@ -16,7 +16,27 @@ An app is simply a `git` repository with some additional files on the top level,
|
||||||
|
|
||||||
### `Procfile` format
|
### `Procfile` format
|
||||||
|
|
||||||
_TODO: Describe how to detect a single binary or a WSGI entry point, standalone workers, etc._
|
`piku` recognizes three kinds of process declarations in the `Procfile`:
|
||||||
|
|
||||||
|
* `wsgi` workers, in the format `dotted.module:entry_point` (Python-only)
|
||||||
|
* `web` workers, which can be anything that honors the `PORT` environment variable
|
||||||
|
* `worker` prcesses, which are standalone workers
|
||||||
|
|
||||||
|
So a Python application could have a `Procfile` like such:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
wsgi: module.submodule:app
|
||||||
|
worker: python long_running_script.py
|
||||||
|
```
|
||||||
|
|
||||||
|
...whereas a generic app would be:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
web: embedded_server --port $PORT
|
||||||
|
worker: background_worker
|
||||||
|
````
|
||||||
|
|
||||||
|
Any worker will be automatically respawned upon failure ([uWSGI][uwsgi] will automatically shun/throttle crashy workers).
|
||||||
|
|
||||||
## Runtime detection
|
## Runtime detection
|
||||||
|
|
||||||
|
|
|
@ -18,10 +18,10 @@ From the bottom up:
|
||||||
- [ ] Support barebones binary deployments
|
- [ ] Support barebones binary deployments
|
||||||
- [ ] CLI command documentation
|
- [ ] CLI command documentation
|
||||||
- [ ] Complete installation instructions (see `INSTALL.md` for a working draft)
|
- [ ] Complete installation instructions (see `INSTALL.md` for a working draft)
|
||||||
- [ ] Sample apps
|
|
||||||
- [ ] Worker scaling
|
- [ ] Worker scaling
|
||||||
- [ ] HTTP port selection (and per-app environment variables)
|
- [ ] HTTP port selection (and per-app environment variables)
|
||||||
- [ ] `Procfile` support
|
- [x] Sample Python app
|
||||||
|
- [X] `Procfile` support (`wsgi` workers for now, `web` and `worker` types being tested)
|
||||||
- [x] Basic CLI commands to manage apps
|
- [x] Basic CLI commands to manage apps
|
||||||
- [x] `virtualenv` isolation
|
- [x] `virtualenv` isolation
|
||||||
- [x] Support Python deployments (currently hardcoded until `Procfile` is implemented)
|
- [x] Support Python deployments (currently hardcoded until `Procfile` is implemented)
|
||||||
|
|
Ładowanie…
Reference in New Issue