Multiprocessing based aiohttp application runner
Project description
aiohttp-serve
aiohttp-serve
package allows you to run aiohttp.web.Application
on multiple workers/processes
(if for some reason you don't want to use external servers such as gunicorn etc.)
Requirements
- Python >= 3.7
- aiohttp >= 3.7.4
- PyYAML>=5.4.1 (optional)
Installation
pip install aiohttp-serve
Usage
web.py
from aiohttp import web
async def index(request):
return web.Response(body='Hello world')
app = web.Application()
app.router.add_get('/', index)
simple usage:
from aiohttp_serve import serve
if __name__ == '__main__':
serve(
'web:app',
host='127.0.0.1',
port=8080,
workers=4,
)
bind to multiple host/port/path:
from aiohttp_serve import serve
if __name__ == '__main__':
serve(
'web:app',
bind=[
'http://127.0.0.1:80',
'https://127.0.0.1:443',
'unix:/path/to/unix/socket.sock',
],
workers=4,
ssl_certfile='/path/to/cert.crt',
ssl_keyfile='/path/to/key.key',
)
logging:
Just configure logging at module level
import yaml
import logging.config
from aiohttp_serve import serve
with open('./examples/logging.yaml', mode='r') as f:
logging.config.dictConfig(yaml.safe_load(f))
if __name__ == '__main__':
serve(
'web:app',
host='127.0.0.1',
port=8080,
workers=4,
)
of use log_config
arg (dict, .json or .yaml or .conf file)
from aiohttp_serve import serve
if __name__ == '__main__':
serve(
'web:app',
host='127.0.0.1',
port=8080,
workers=4,
log_config='./examples/logging.yaml',
)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiohttp_serve-0.2.1.tar.gz
(10.7 kB
view details)
Built Distribution
File details
Details for the file aiohttp_serve-0.2.1.tar.gz
.
File metadata
- Download URL: aiohttp_serve-0.2.1.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/58.0.4 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a766919318f2440265ba1b4d8d1d844514896c6a50ebfad0b450125c88341f6 |
|
MD5 | 77b9f3f7b96fad695bb1b5efedd81b4a |
|
BLAKE2b-256 | 9bd9677fe972a336a9cce29e8b04b8bf392f74738bdb10f46d4460e3be9f332c |
Provenance
File details
Details for the file aiohttp_serve-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: aiohttp_serve-0.2.1-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/58.0.4 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 505dcc1ed658cdb10f84fe8e89175ce488b29b710fa966beec97de3e91b9b70d |
|
MD5 | 35645470ca2738e098c9f352c2243431 |
|
BLAKE2b-256 | 2a1bc9b194255817bcc085e8d168fd4755bede116f6c04ea3b001c696cb5adaf |