로드 중...
검색 중...
일치하는 항목 없음
interrupt.py
이 파일의 문서로 이동하세요.
1
9
10가져오기argparse
11가져오기신호
12가져오기sys
13가져오기스레딩
14가져오기시간
15from게임가져오기GamsWorkspace
16
17
18definterrupt_gams(작업):
19time.sleep(2)
20job.interrupt()
21
22
23if__name__ =="__main__":
24파서 = argparse.ArgumentParser()
25parser.add_argument("sysDir", nargs="?", 기본값=없음)
26parser.add_argument("workDir", nargs="?", 기본값=없음)
27parser.add_argument("-nonInteractive", 작업="store_true")
28args = 파서.parse_args()
29
30ws = GamsWorkspace(system_directory=args.sysDir,working_directory=args.workDir)
31
32 # 해결하는 데 시간이 필요한 모델을 사용
33ws.gamslib("dicex")
34작업 = ws.add_job_from_file("dicex.gms")
35opt = ws.add_options()
36opt.all_model_types ="scip"
37
38 ifargs.nonInteractive:
39 # 2초 후에 GamsJob을 중단하는 스레드를 비동기적으로 시작
40threading.Thread(target=interrupt_gams, args=(job,)).start()
41 그밖에:
42 # job.interrupt에 신호 등록
43신호.신호(신호.SIGINT,람다신호, 프레임: job.interrupt())
44
45 # GamsJob 시작
46job.run(opt, 출력=sys.stdout)