2017-04-27 12 views
1

P4Python의 run_sync를 사용하는 도구를 만들고 있습니다. 파일을 덮어 쓸 수없는 경우 예를 들어 열린 .exe 인 P4Python은 약 2 분을 기다렸다가 10 번 시도하여 덮어 씁니다. 이것은 시간이 너무 오래 걸리므로이 시간을 짧게하거나 작동을 중단시키는 방법이 필요합니다.P4Python에서 문제가되는 파일의 동기화를 멈추려는 시간 제한/횟수 설정

내가 아는

, 그이 콘솔의 시간으로 단축 될 수있다 :

p4 -r[number of tries] -vnet.maxwait=[seconds of waiting] 

그러나 P4Python 글로벌 매개 변수를 사용하여이 방법을 사용할 수 없으며 나는 그 매개 변수를 설정하는 방법을 찾을 수 없습니다.

다른 해결책은 동기화를 멈추게 할 신호를 보내는 것입니다.하지만이 방법은 찾지 못했습니다.

어떻게해야합니까?

+0

주 스레드와 비동기 적으로 실행되는 run 메소드에 대한 컨텍스트 관리자를 작성할 수 있으며 실행 시간이 너무 길면 죽을 수 있습니까? – MaVCArt

답변

2

이 기능에 대한 공개 요청이 P4Python을 통해 공개되었으며이 게시물의 세부 사항을 추가했습니다. 해결 방법으로 'p4.run_sync'메서드를 재정의하고 파일 동기화를 시도하는 기본 횟수를 변경할 수 있습니다.

'p4'에 대한 시스템 호출을 수행 할 수도 있습니다.

+0

답장을 보내 주셔서 감사합니다. 지금 당장은 떠날 것입니다. P4Python을 수정하거나 응용 프로그램을 변경하고 싶지는 않습니다.하지만 연결이 끊어지는 것을 피하기 위해 비동기 스레드에서만 연결을 인스턴스화해야합니다. 명령 줄을 사용하십시오. –