___ ___ ___ ___ ___ ___ /\__\ /\ \ /\__\ /\ \ /\__\ /\ \ /:/ / /::\ \ /::| | /::\ \ /:/ / /::\ \ /:/__/ /:/\:\ \ /:|:| | /:/\:\ \ /:/__/ /:/\:\ \ /::\ \ ___ /:/ \:\ \ /:/|:| |__ /:/ \:\ \ /::\ \ ___ /:/ \:\ \ /:/\:\ /\__\ /:/__/ \:\__\ /:/ |:| /\__\ /:/__/ \:\__\ /:/\:\ /\__\ /:/__/ \:\__\ \/__\:\/:/ / \:\ \ /:/ / \/__|:|/:/ / \:\ \ \/__/ \/__\:\/:/ / \:\ \ /:/ / \::/ / \:\ /:/ / |:/:/ / \:\ \ \::/ / \:\ /:/ / /:/ / \:\/:/ / |::/ / \:\ \ /:/ / \:\/:/ / /:/ / \::/ / /:/ / \:\__\ /:/ / \::/ / \/__/ \/__/ \/__/ \/__/ \/__/ \/__/
So, uh, honcho is basically Foreman, but uh, honcho instead.
Seriously? honcho is a Python port of Foreman.
Why a port? Well, only two good reasons, and only one of which you're going to be interested in:
- I work in Python-only development environments, where installing Ruby just so I can run Procfile apps seems a bit crazy. Python, on the other hand, is part of the LSB, and so even in "Ruby-only" environments, Python will still be around.
- I wanted to learn about asynchronous I/O in Python.
pip install honcho
If you're one of those sick people who's into this kind of thing, you
can probably also easy_install honcho
. But please, don't: get with
the program.
- Read the Foreman documentation
- Run
honcho -h
and see which bits of Foreman I've got round to implementing
Or, the 30-second version:
Write a Procfile:
$ cat >Procfile <<EOM web: python serve.py redis: redis-server EOM
Optional: write a .env file to configure your app:
$ cat >.env <<EOM PORT=6000 REDIS_URI=redis://localhost:6789/0 EOM
Run the app with honcho:
$ honcho start