2

Windows 2003 서버에서 3 분마다 VBS 페이지를 호출하여 내 웹 사이트 응용 프로그램에서 스크립트를 실행하는 예약 된 작업이 필요합니다. 웹 사이트 스크립트는 고전적인 ASP로 작성되어 다양한 크기와 형식으로 변환 할 수있는 업로드 된 파일을 확인하므로 파일 수에 따라 긴 프로세스가 될 수 있습니다. 백그라운드 프로세스.ASP/VBS - 백그라운드 작업

내가 알고 싶은 것은 : 서버가 일정을 실행하면 많은 수의 사진을 찾아서 처리하기 시작합니다. 3 분 후에 다른 일정이 실행되고 동일한 ASP 페이지가 호출되고 이전 작업이 실행되면 어떻게됩니까? 아직 실행 중입니까? 그것이 이전 작업에 영향을 미치지 않습니까, 아니면 새로운 인스턴스에서 다른 작업과 나란히 실행됩니까? 함께 실행하면 서버 집중적이지 않습니까? 태스크를 관리하는 DB 테이블을 작성하고, 태스크가 처리되는 동안 채널을 "사용 중"으로 설정하고, 완료시이를 "열"로 재설정하여 한 번에 하나의 태스크 만 처리 할 수 ​​있습니까?

한 번에 하나의 작업을 처리해야한다고 생각합니다. 내 경우에는 한 번에 하나의 사진 폴더 만 처리해야합니다. 사무실에서 사진을 업로드 할 때 고객에게 중요성이 높은 사진은 웹 사이트에 최대한 빨리 게시해야합니다. 따라서 100 개의 폴더가 업로드 된 경우 방금 예약 된 작업이 폴더 100에 도달 할 때까지 한 번에 하나의 작업 만 처리하면 시간이 많이 걸릴 것입니다.

거기에 많은 물음표가 있지만 모두 똑같은 것으로 나타납니다. 어떤 도움이나 제안이라도 감사드립니다. .NET과 같은 태그도 붙였습니다. 프로세스가 동일하기 때문입니다.

+0

WMI를 대신 사용해 보셨습니까? 예약 된 작업이 가능하지만 WMI에서 수행 한 작업은 사용자가 요구하는 작업입니다. 자동 폴링은 이벤트의 x 시간마다 수행합니다. – Lizz

답변

0

간단한 해결책 :

예약 된 작업이 시작되면, 그것은 독점적으로 더미 파일을 잠금을 시도합니다.

독점 잠금을 얻으면 계속 진행하십시오.

그렇지 않으면 아무 것도하지 않고 종료하십시오. 작업이 다음 예정 시간에 다시 시작됩니다.