setup.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import subprocess
  2. import sys
  3. import setup_util
  4. import os
  5. from os.path import expanduser
  6. home = expanduser("~")
  7. cwd = "%s/FrameworkBenchmarks/tornado" % home
  8. def start(args):
  9. setup_util.replace_text(
  10. cwd + "/server.py", "127.0.0.1", args.database_host)
  11. subprocess.check_call("pip install -r %s/requirements.txt")
  12. subprocess.Popen("python %s/FrameworkBenchmarks/tornado/server.py --port=8000 --logging=error" % home, shell=True, cwd=cwd)
  13. subprocess.Popen("python %s/FrameworkBenchmarks/tornado/server.py --port=8001 --logging=error" % home, shell=True, cwd=cwd)
  14. subprocess.Popen("python %s/FrameworkBenchmarks/tornado/server.py --port=8002 --logging=error" % home, shell=True, cwd=cwd)
  15. subprocess.Popen("python %s/FrameworkBenchmarks/tornado/server.py --port=8003 --logging=error" % home, shell=True, cwd=cwd)
  16. subprocess.check_call("sudo /usr/local/nginx/sbin/nginx -c " + home + "/FrameworkBenchmarks/php/deploy/nginx.conf", shell=True)
  17. return 0
  18. def stop():
  19. try:
  20. subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
  21. except subprocess.CalledProcessError:
  22. #TODO: Better handle exception.
  23. pass
  24. p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
  25. out, err = p.communicate()
  26. for line in out.splitlines():
  27. if 'server.py' in line:
  28. try:
  29. pid = int(line.split(None, 2)[1])
  30. os.kill(pid, 9)
  31. except OSError:
  32. pass
  33. return 0