run_local_modelverse.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import subprocess
  2. import sys
  3. import os
  4. # sys.executable to use the same Python interpreter used to invoke this command
  5. if len(sys.argv) < 2:
  6. port = "8001"
  7. else:
  8. port = sys.argv[1]
  9. # Start up the HUTN compilation service already
  10. try:
  11. hutn = subprocess.Popen([sys.executable, "scripts/HUTN_service.py", "127.0.0.1:%s" % port])
  12. json = subprocess.Popen([sys.executable, "scripts/JSON_service.py", "127.0.0.1:%s" % port])
  13. os.chdir("hybrid_server")
  14. subprocess.check_call([sys.executable, "-m", "sccd.compiler.sccdc", "-p", "threads", "server.xml"])
  15. program_to_execute = [sys.executable, "run_mvk_server.py", port]
  16. # Alternative execution modes
  17. #program_to_execute = [sys.executable, "-m", "cProfile", "-s", "tottime", "run_mvk_server.py", port]
  18. #program_to_execute = [sys.executable, "run_mvk_server.py", port, "--kernel=interpreter"]
  19. #program_to_execute = [sys.executable, "run_mvk_server.py", port, "--kernel=fast-jit"]
  20. server = subprocess.Popen(program_to_execute)
  21. server.wait()
  22. finally:
  23. try:
  24. server.terminate()
  25. except:
  26. pass
  27. try:
  28. hutn.terminate()
  29. except:
  30. pass
  31. try:
  32. json.terminate()
  33. except:
  34. pass