app.py 971 B

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