12345678910111213141516171819202122232425262728293031323334353637383940 |
- from socketify import WSGI
- import os
- try:
- from ujson import dumps as json
- except:
- from json import dumps as json
-
- def app(environ, start_response):
- path = environ["PATH_INFO"]
- if path == "/plaintext":
- start_response('200 OK', [('Content-Type', 'text/plain')])
- yield b'Hello, World!'
- return
- if path == "/json":
- start_response('200 OK', [('Content-Type', 'application/json')])
- yield json({"message":"Hello, World!"}).encode('utf8')
- return
-
- def run_app():
- WSGI(app).listen(3000, lambda config: print(f"Listening on port http://localhost:{config.port} now\n")).run()
- def create_fork():
- n = os.fork()
- # n greater than 0 means parent process
- if not n > 0:
- run_app()
- def get_worker_count():
- try:
- return int(os.environ["WORKER_COUNT"])
- except:
- return 2
- WORKER_COUNT = get_worker_count() - 1
- for index in range(WORKER_COUNT):
- create_fork()
- run_app()
|