run_local_modelverse.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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, "services/HUTN/main.py", "127.0.0.1:%s" % port])
  12. json = subprocess.Popen([sys.executable, "services/JSON/main.py", "127.0.0.1:%s" % port])
  13. os.chdir("wrappers")
  14. subprocess.check_call([sys.executable, "-m", "sccd.compiler.sccdc", "-p", "threads", "modelverse_SCCD.xml"])
  15. os.chdir("../hybrid_server")
  16. subprocess.check_call([sys.executable, "-m", "sccd.compiler.sccdc", "-p", "threads", "server.xml"])
  17. program_to_execute = [sys.executable, "run_mvk_server.py", port]
  18. # Alternative execution modes
  19. #program_to_execute = [sys.executable, "-m", "cProfile", "-s", "tottime", "run_mvk_server.py", port]
  20. #program_to_execute = [sys.executable, "run_mvk_server.py", port, "--kernel=interpreter"]
  21. #program_to_execute = [sys.executable, "run_mvk_server.py", port, "--kernel=fast-jit"]
  22. server = subprocess.Popen(program_to_execute)
  23. server.wait()
  24. finally:
  25. try:
  26. server.terminate()
  27. except:
  28. pass
  29. try:
  30. hutn.terminate()
  31. except:
  32. pass
  33. try:
  34. json.terminate()
  35. except:
  36. pass