run.py 749 B

1234567891011121314151617181920212223242526272829303132
  1. import multiprocessing
  2. import sys
  3. from granian import Granian
  4. if __name__ == '__main__':
  5. interface = sys.argv[1]
  6. threading_mode = sys.argv[2]
  7. workers = multiprocessing.cpu_count()
  8. if interface == "rsgi":
  9. #: split cores between the two loops
  10. workers = round(workers / 2)
  11. blocking_threads = None
  12. if interface == "wsgi":
  13. #: we don't run any I/O in WSGI benches
  14. blocking_threads = 1
  15. Granian(
  16. f"app_{interface}:main",
  17. address="0.0.0.0",
  18. port=8080,
  19. workers=workers,
  20. threading_mode=threading_mode,
  21. blocking_threads=blocking_threads,
  22. backlog=16384,
  23. interface=interface,
  24. http="1",
  25. websockets=False
  26. ).serve()