WVS 작업 스케줄러 관리
작업 스케줄
예약 작업 창에 액세스하려면 Windchill 탐색기사이트, 조직, 프로젝트, 제품 또는 라이브러리에서 유틸리티를 선택한 다음 WVS 작업 스케줄러 관리를 선택합니다.
작업 스케줄러 관리는 작업이 있는 컨텍스트에서 수행됩니다. 예를 들어, 특정 제품의 모든 CAD 문서를 게시하는 작업을 스케줄한 경우 모든 CAD 문서는 해당 제품에만 게시됩니다.
게시 작업을 스케줄하려면 다음 절차를 따르십시오.
1. 예약 작업 창의 이름 필드에 작업의 이름을 입력합니다.
200자(싱글 바이트 기준)까지 입력할 수 있습니다. 이 필드는 필수 필드입니다.
2. 설명 필드에 게시 작업에 대한 간단한 설명을 입력합니다.
설명은 200자 미만이어야 합니다.
3. 스케줄러가 실제로 게시 작업을 제출하지 않고 게시될 작업의 로그 파일만 작성하도록 하려면 로그 파일만 작성 확인란을 선택합니다. 이렇게 하면 작업을 제출하지 않고도 새 스케줄 작업을 작성하여 작업을 테스트할 수 있습니다.
4. 작업 유형에서 원하는 작업 유형을 선택합니다. 사용 가능한 옵션은 게시 작업, 간섭 검사 작업, 인쇄 작업, 축소판 작업 및 정리 작업입니다. 작업 필드가 적절하게 업데이트됩니다.
5. 작업 목록에서 선택한 작업 유형에 포함할 작업 매개변수를 선택합니다. 사용 가능한 필터에 대한 자세한 내용은 WVS 작업 스케줄러 필터를 참조하십시오.
6. 작업을 즉시 실행할지, 아니면 지정된 시간에 실행되도록 설정할지 결정합니다.
작업을 즉시 실행하려면 작업 시작 아래에서 즉시를 선택합니다.
지정된 시간에 실행되도록 작업을 설정하려면 스케줄 작업을 시작할 , , , 을 선택합니다.
7. 작업을 지정된 시작 시간에 한 번만 실행할지, 아니면 지정된 간격으로 반복해서 실행할지 결정합니다.
지정된 시작 시간에 작업을 한 번 실행하려면 작업 빈도 아래에서 한 번을 선택합니다.
작업을 반복적으로 실행하려면 게시 작업이 다시 발생할 , 간격을 지정합니다.
8. 스케줄을 클릭합니다.
게시 작업이 예약된 작업 테이블에 나타납니다.
게시 작업을 삭제하려면 게시 작업 행의 마지막 열에서 을 클릭합니다.
게시 작업 목록을 새로 고치려면 목록 새로 고침 을 클릭합니다.
작업이 실행될 때 로그 파일이 열려 있으면 예약 작업의 이름이 링크로 나타납니다. 해당 링크를 선택하면 게시를 위해 전송된 항목을 나열하는 로그 파일이 표시됩니다. 로그 파일만 작성 옵션이 선택되면 해당 링크에 게시를 위해 선택되었을 수 있는 품목의 목록이 표시됩니다.
자동화 게시 스케줄 설정
WVS 작업 스케줄러 관리를 사용하여 처리할 요청을 Windchill 스케줄 대기열에 제출할 수 있습니다. 아래에 예가 나와 있습니다. 사이트에 대해 자동화 게시 스케줄을 설정하여 특정 유형 데이터의 정기적 게시를 자동화합니다.
예약된 작업이 처음으로 제출되면 WVSScheduleQueue라는 새로운 Windchill 스케줄 대기열이 작성됩니다. Windchill 대기열 관리 유틸리티를 사용하여 이 대기열이 존재하고 활성 상태인지 확인할 수 있습니다. 이 스케줄 대기열은 지정된 일자와 시간에 정해진 주기로 게시 요청을 제출합니다.
wvs.properties 파일의 설정은 WVS 작업 스케줄러 관리 유틸리티의 예약 작업 페이지에서 선택할 수 있는 작업을 정의합니다. 미리 구성해 놓은 예제 작업이 많이 있습니다. 정해진 요구 사항을 만족한다면 적절한 작업 예약을 작성할 수 있습니다.
작업 예약을 작성하는 프로세스는 다음과 같은 두 부분으로 구성됩니다.
wvs.properties 파일 구성
게시할 객체를 선택하기 위한 java 코드 작성
다음 등록 정보는 사용 가능한 엔트리 목록을 정의합니다. 여기서 <n>은 1부터 시작하는 순차적 정수입니다.
Schedulejobs<n>=<schedulename>
schedulename은 다음 양식의 추가 등록 정보를 찾는 데 사용됩니다.
<schedulename>.description=pull-down description
<schedulename>.class=<ClassContainingMethod>
<schedulename>.method=<nameOfMethod>
<schedulename>.enableOnContainers=<true/false>
<schedulename>.description 등록 정보는 예약된 작업 창의 작업 유형 드롭다운 메뉴에 나타나는 텍스트를 정의합니다. class와 method는 예약 작업으로 호출될 특정 메소드를 식별하는 데 사용됩니다. enableOnContainers의 값은 특정 컨텍스트에서 스케줄러 UI가 호출될 때 작업 목록에 이 작업 예약이 표시될지 여부를 결정합니다. 이는 컨텍스트에 따라 게시할 객체를 필터링하는 코드가 작업 예약에 있음을 의미합니다.
다음은 게시 작업 메소드의 서명입니다.
public static QuerySpec <nameOfMethod>()
또는
public static QueryResult <nameOfMethod>()
또는
public static WTList <nameOfMethod>()
QuerySpec이 반환되면 PersistenceHelper.manager.find()가 질의를 수행하고 QueryResult를 반환하는 데 사용됩니다. 이 QueryResult 또는 스케줄 작업 메소드에서 직접 반환된 결과에는 게시를 위해 전송되는 EPMDocuments/WTParts/WTDocuments/Representation이 포함됩니다.
기본 구성 사양이 사용됩니다. QueryResult에 표현이 포함되어 있으면 재게시를 위해 보내집니다. QueryResult에 WTDocument가 포함되어 있으면 모든 게시 가능 파일(즉 wvs.properties에 작업자 XXX=mapping이라고 정의된 파일)이 게시를 위해 전송됩니다.
제출된 게시 작업에 대한 제어가 필요한 경우 작업 예약 메소드가 빈 QueryResult 또는 WTList를 반환할 수 있으며, 필요한 경우 작업 예약 코드에서 doPublish 메소드를 사용하여 게시 작업을 제출합니다.
스케줄 작업의 현재 컨테이너 컨텍스트를 얻으려면 작업 메소드에서 다음 메소드 요청을 사용하십시오.
WTContainerRef cr = com.ptc.wvs.server.schedule.ScheduleJobs.
getCurrentContainer();
다음 예의 예약 작업 메소드는 현재 컨텍스트에서 모든 EPMDocument를 게시합니다.
public static QuerySpec allEPMDocuments()
{
QuerySpec qs = null;
try {
qs = new QuerySpec(EPMDocument.class);
WTContainerRef cr = com.ptc.wvs.server.schedule.ScheduleJobs.getCurrent
Container();
if( cr != null ) {
ContainerSpec cs = new ContainerSpec();
cs.addSearchContainer(cr);
qs.setAdvancedQueryEnabled(true);
qs.appendWhere(WTContainerHelper.getWhereContainerIn(cs, EPMDocument.
class),new int[]{0});
}
} catch (Exception e ) { e.printStackTrace(); }
return qs;
}
예약 작업에 대한 디버깅 정보를 얻으려면 wvs.properties 파일에서 다음 등록 정보를 true로 설정하십시오.
publish.publishqueuehelper.verbose=true
* 
WVS 작업 스케줄러 관리에 대한 자세한 내용은 Windchill Visualization Services 사용자 정의를 참조하십시오.
도움이 되셨나요?