2

Itertersystems 캐시 터미널 스크립트를 실행해야하는 시스템을 개발 중입니다.Intersystems Caché 터미널 스크립트를 실행하는 동안 <session disconnected> 오류를 방지하는 방법은 무엇입니까?

일반 Caché 터미널 또는 텔넷 터미널에서 루틴을 실행할 때 캐시는 아무 문제없이 끝까지 루틴을 실행합니다. 그러나 동일한 루틴을 실행하려고 시도하지만 이번에는 Caché 터미널 스크립트 내에서 루틴을 호출하면 Caché는 잠시 후에 세션을 연결 해제합니다. "timeout"설정에 대한 언급이나 내가 얻고있는 메시지에 대해 언급 된 내용은 전혀 없습니다.

스크립트는 단지 다음과 같이 실행한다 :

Cterm.exe /console=cn_iptcp:192.168.2.13[23] c:\test.s 

1) 사람이 Interystems 캐시 실행의 중간에 세션 (세션이 중 유휴되지 않습니다 분리하는 원인이 될 수 있습니다 알고 있나요 그것은. 콘솔에 상태 메시지를 정기적으로 출력)?

2) 해결 방법에 대한 아이디어가 있습니까?

감사합니다,

루이스 페르난도

답변

1

은 그렇지 않은 기회 제한 시간,하지만 몇 가지 다른 문제가 있습니까? 아마도 갇혀/기록되지 않는 런타임 오류 일 가능성이 있습니까?

대화 형 콘솔에서 실행하는 것과 스크립트로 실행하는 것의 주된 차이점은 대화 형으로 실행할 때 프로그래머 모드에 있지만 스크립트에서 사용자 모드에 있다는 점입니다. 그 이유가 무엇인지에 대해서는 아무 이유없이 생각할 수 없지만, 아마도 코드가 그것에 민감 할 수 있습니다.

시도해 볼 항목이 있습니다. 문자를 쓰는 것을 제외하고는 아무것도하지 않는 매우 간단한 스크립트를 작성하십시오. 아마도 이런 식으로 :

F I = 1 : 1 : 360 H 10 W "." ; 1 시간 동안 10 초마다 점을 작성하십시오.

시간 초과가 발생하면 코드가 아니라 터미널임을 알 수 있습니다.

2

잠시 후 마침내 세션이 종료되는 이유를 발견했습니다. 끝에 뭔가를 기다려야합니다. 그렇지 않으면 스크립트가 종료됩니다. 하지만 기다리고있는 문자열은 코드가 완료 될 때까지 인쇄되지 않는 것이 확실해야합니다.

waitfor "Operation finished" 
terminate 

지금 프로그램을 중단하지 않습니다

그래서, 난 그냥 단지 말에 "작업 완료"인쇄 한 후 행을 넣어 프로그램을 변경했습니다.

건배,

루이스