Asp.net에서 웹 응용 프로그램을 만들고 있습니다. IIS는 장기간 실행되는 작업을 중단시키는 경향이 있으므로 장기 실행 작업이 완료 될 수도 있고 완료되지 않을 수도 있습니다.Asp.net - 스레드가 언제 죽는 지 알 수있는 방법
문제가 있습니까? 아니. 쿼츠를 사용하여 주기적으로 작업을 다시 시작합니다 (변경 사항이 DB에 저장되므로 스레드를 다시 시작하면됩니다).
하지만 지금은 확장을 지원하기 위해 웹 응용 프로그램을 빌드하려고합니다. 여러 인스턴스를 실행하고 싶습니다.
장기간의 작업을 처리하기 위해 데이터베이스에 주어진 작업을 체크 아웃 한 인스턴스를 기록하는 열을 추가하려고합니다. 그러나 스레드가 죽으면 언제 '체크인'되었는지 확인할 수 있어야합니다.
그래서 스레드가 죽으면 어떻게 확인합니까?
스레드가 실행되는 동안 AppPool이 재생되면 어떻게됩니까? 이 유형의 접근에는 질문보다 광범위하고 복잡한 여러 가지 문제가 있습니다. –
이미 Quartz를 사용하고 있으므로 오랫동안 실행중인 작업을 수행하는 것이 좋습니다. 웹 응용 프로그램은 그런 종류의 작업을 수행하지 않습니다. –
데이터를 변경하는 웹 서버에 HTTP 콜백을 보내는 외부 서비스를 처리하고 장기 실행 작업을 실행해야하는 방식 때문에이 작업을 수행 할 수 없습니다. –