2012-05-08 3 views
3

장시간 실행되는 Ant 스크립트에서 대략 초당 1 회 호출되는 대상이 있습니다. (이것은 아마도 좋은 것은 아니지만 잠시 받아 들여야합니다.)
마지막 실제 실행이 적어도 5 분 전에 실행 된 경우에만 실행하고 싶습니다. 솔루션에 대한개미 : 타임 스탬프를 비교하는 방법?

하나 개의 아이디어는 lastRunTimestamp 속성을 유지하고 현재 시간을 비교하는 것입니다.

문제 : 타임 스탬프 개미에 비교할 수있는 방법? 또한 환영받을

다른 해결책은 검사가 필요하지 않을 수 있도록, 단지 지정된 시간 간격으로 표적을 실행하는 수단이다.

저는 Ant 1.7.1과 ant-contrib를 사용하고 있습니다.

모든 아이디어는 대단히 감사합니다. - 감사합니다!

답변

2

흥미로운 질문, 내가 원래 생각했던 것보다 답을 조금 더 열심히 하나.

당신 5 분 이전의 타임 스탬프 설정 <tstamp> 작업을 사용할 수 있습니다 : 당신이 타임 스탬프가 있으면

<tstamp> 
    <format property="time_stamp" 
     offset="-5" 
     unit="minutes" 
     pattern="MM/dd/yyyy hh:mm:ss aa"/> 
</tstamp> 

, 당신은 사용할 수를 은 특정 있는지 확인하기 위해 <condition> 작업 조건을 LASTMODIFIED 파일이 업데이트되었습니다. 파일이 없으면 <touch> 작업을 사용하여 파일을 만들 수 있습니다.

유일한 문제는 기본 속성을 변경할 수 없다는 것입니다. 일단 설정되면 변경할 수 없습니다. 다행히 ant-contribant-contrib을 사용하면 변수 태스크를 통해 변경할 수 있습니다.

+0

멋지다. 그러나 임시 파일이 필요합니다. 어쩌면 문자열로 사전 식으로 비교할 수있는 것보다' '을 사용하여 타임 스탬프를 만들 수 있습니까? 이렇게하면 문자열 비교 문제를 줄일 수 있습니다. 어떻게 생각할지 모르겠다. –

+0

발견 : 귀하의 답변과 함께 좋은 해결책을 만드는 http://stackoverflow.com/questions/7412894/ant-strings-comparison. –

+0

'가 Ant 1.8 기능이라는 것을 발견했습니다. Ant 1.7에서는 파일에 타임 스탬프를 쓰는 것과 같은 대안 솔루션을 찾아야합니다. 네 말이 맞아 –