app.py 1015 B

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