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
|
||||
|
||||
_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
|
||||
|
||||
|
|
|
@ -18,10 +18,10 @@ From the bottom up:
|
|||
- [ ] Support barebones binary deployments
|
||||
- [ ] CLI command documentation
|
||||
- [ ] Complete installation instructions (see `INSTALL.md` for a working draft)
|
||||
- [ ] Sample apps
|
||||
- [ ] Worker scaling
|
||||
- [ ] 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] `virtualenv` isolation
|
||||
- [x] Support Python deployments (currently hardcoded until `Procfile` is implemented)
|
||||
|
|
Ładowanie…
Reference in New Issue