app-python3.py 1014 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import threading
  2. import time
  3. import os
  4. from ujson import dumps as json
  5. from datetime import datetime
  6. from socketify import App
  7. def plaintext(res, req):
  8. res.write_header("Server", "socketify")
  9. res.write_header("Content-Type", "text/plain")
  10. res.end("Hello, World!")
  11. def applicationjson(res, req):
  12. res.write_header("Server", "socketify")
  13. res.write_header("Content-Type", "application/json")
  14. res.end(json({"message":"Hello, World!"}))
  15. def run_app():
  16. app = App(request_response_factory_max_itens=200_000)
  17. app.get("/", plaintext)
  18. app.get("/json", applicationjson)
  19. app.get("/plaintext", plaintext)
  20. app.listen(3000)
  21. app.run()
  22. def create_fork():
  23. n = os.fork()
  24. # n greater than 0 means parent process
  25. if not n > 0:
  26. run_app()
  27. def get_worker_count():
  28. try:
  29. return int(os.environ["WORKER_COUNT"])
  30. except:
  31. return 2
  32. WORKER_COUNT = get_worker_count() - 1
  33. for index in range(WORKER_COUNT):
  34. create_fork()
  35. run_app()