8from슬롯 무료체험engine.api
가져오기jobs_api
11if__name__ ==
"__main__":
12sys_dir = sys.argv[1]
iflen(sys.argv) > 1
그밖에 없음
13work_dir = sys.argv[2]
iflen(sys.argv) > 2
그밖에 없음
14ws = GamsWorkspace(system_directory=sys_dir,working_directory=work_dir)
19model_data_path = os.path.join(ws.working_directory, 모델 +
".zip")
21 함께zipfile.Zip파일(model_data_path,
"w", zipfile.ZIP_DEFLATED)
as모델_데이터:
23os.path.join(ws.working_directory, 모델 +
".gms"), 아크이름=모델 +
".gms"
26stdout_filename =
"log_stdout.txt"
37구성 = 슬롯 무료체험engine.Configuration(
38호스트=os.environ[
"엔진_URL"],
39사용자 이름=os.environ[
"ENGINE_USER"],
40비밀번호=os.environ[
"엔진_비밀번호"],
41discard_unknown_keys=
참,
42ssl_ca_cert=certifi.where(),
44configuration.temp_folder_path = ws.working_directory
50 함께슬롯 무료체험engine.ApiClient(구성)
asapi_client:
52job_api_instance = jobs_api.JobsApi(api_client)
55 와열기(model_data_path,
"rb")
as모델_데이터:
56create_job_response = job_api_instance.create_job(
59stdout_filename=stdout_filename,
64토큰 = create_job_response.token
67 제외슬롯 무료체험engine.ApiException
ase:
68인쇄(f
"JobsApi.create_job() 호출 시 예외: e\n")
74resp = job_api_instance.pop_job_logs(token)
75print(resp.message, end=
"")
76 ifresp.queue_finished:
79 제외슬롯 무료체험engine.ApiException
ase:
81인쇄(
"작업이 아직 대기열에 있습니다. 0.5초 동안 기다리십시오.")
86 "엔진 인스턴스가 바쁜 것 같습니다. 나중에 다시 시도하십시오."
92 ifjob_api_instance.get_job(token).process_status != 0:
93인쇄(
"작업이 성공적으로 종료되지 않았습니다.")
96인쇄(f
"모델 결과 가져오는 중: model")
97 와zipfile.ZipFile(job_api_instance.get_job_zip(token))
aszf:
98gdx_file = zf.extract(모델 +
".gdx", 경로=ws.working_directory)
99 제외슬롯 무료체험engine.ApiException
ase:
100인쇄(f
"JobsApi.get_job_zip() 호출 시 예외: e\n")
105job_api_instance.delete_job_zip(토큰)
106 제외슬롯 무료체험engine.ApiException
ase:
107인쇄(f
"JobsApi.delete_job_zip() 호출 시 예외: e\n")
110result_db = ws.add_database_from_gdx(
111os.path.join(ws.working_directory, gdx_file)
116f
"x(rec.key(0),rec.key(1)): 레벨=rec.level 한계=rec.marginal"