setup.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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.Popen("python %s/FrameworkBenchmarks/tornado/server.py --port=8004 --logging=error" % home, shell=True, cwd=cwd)
  17. subprocess.Popen("python %s/FrameworkBenchmarks/tornado/server.py --port=8005 --logging=error" % home, shell=True, cwd=cwd)
  18. subprocess.Popen("python %s/FrameworkBenchmarks/tornado/server.py --port=8006 --logging=error" % home, shell=True, cwd=cwd)
  19. subprocess.Popen("python %s/FrameworkBenchmarks/tornado/server.py --port=8007 --logging=error" % home, shell=True, cwd=cwd)
  20. subprocess.check_call("sudo /usr/local/nginx/sbin/nginx -c " + home + "/FrameworkBenchmarks/php/deploy/nginx.conf", shell=True)
  21. return 0
  22. def stop():
  23. try:
  24. subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
  25. except subprocess.CalledProcessError:
  26. #TODO: Better handle exception.
  27. pass
  28. p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
  29. out, err = p.communicate()
  30. for line in out.splitlines():
  31. if 'server.py' in line:
  32. try:
  33. pid = int(line.split(None, 2)[1])
  34. os.kill(pid, 9)
  35. except OSError:
  36. pass
  37. return 0