123456789101112131415161718192021222324252627282930313233343536 |
- import os
- import sys
- import multiprocessing
- import logging
- import socketify
- app_dir = os.path.dirname(os.path.abspath(__file__)) + '/hello'
- sys.path.append(app_dir)
- from hello.wsgi import application as app
- _is_travis = os.environ.get('TRAVIS') == 'true'
- workers = int(multiprocessing.cpu_count())
- if _is_travis:
- workers = 2
- def run_app():
- msg = f"Listening on port 8080 now\n"
- socketify.WSGI(app).listen(8080, lambda config: logging.info(msg)).run()
- def create_fork():
- n = os.fork()
- # n greater than 0 means parent process
- if not n > 0:
- run_app()
- # fork limiting the cpu count - 1
- for i in range(1, multiprocessing.cpu_count()):
- create_fork()
- run_app() # run app on the main process too :)
|