setup_py3.py 691 B

12345678910111213141516171819202122232425262728293031
  1. import subprocess
  2. import os
  3. import time
  4. proc = None
  5. def start(args, logfile, errfile):
  6. global proc
  7. proc = subprocess.Popen(
  8. "exec $PY3_GUNICORN app:app -c gunicorn_conf.py",
  9. cwd="flask", stderr=errfile, stdout=logfile, shell=True)
  10. return 0
  11. def stop(logfile, errfile):
  12. global proc
  13. if proc is None:
  14. return 0
  15. proc.terminate()
  16. proc = None
  17. time.sleep(1)
  18. p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
  19. out, err = p.communicate()
  20. for line in out.splitlines():
  21. if 'gunicorn' in line:
  22. errfile.write("Killing: " + line + "\n")
  23. pid = int(line.split()[1])
  24. os.kill(pid, 15)
  25. return 0