2012-12-19 5 views
1

정보를 FTP로 파일로 출력하는 시스템이 6 개 (약 6 개)이므로 파일을 수신하면 즉시 처리되고 출력이 데이터베이스와 소스에 저장됩니다 파일이 삭제됩니다. 다른 응용 프로그램은 매일 밤 특정 작업을 실행해야하지만 소스 시스템의 모든 파일이 처리 된 경우에만 작업을 시작해야합니다. 그래서이 솔루션은 데이터베이스를 폴링하여 파일이 처리되었는지 확인하고 모든 작업이 완료되었다는 것을 알게되면 작업을 트리거합니다.모든 데이터가 처리 된 후 트리거 작업

제 질문은이 작업을 수행하는 더 좋은 방법입니까? 메시지 기반 접근 방식일까요? 내가 찾고있는 접근 방식은이 시스템에만 국한된 것이 아니며, 소스 시스템의 데이터가 도착하면 몇 가지 시스템이 작업을 트리거해야하므로 확장 가능한 솔루션을 찾고 있습니다.

답변

0

가능한 해결책은 각 데이터베이스 가져 오기/파일 처리를 위해 데이터베이스를 가져 오는 논리에 야간 작업을위한 트리거를 넣는 것입니다.

야간 작업을 수행하려면 가져 오기 완료 여부, 즉 모든 파일을 올바르게 가져와야하는지 확인해야합니다.

이렇게하면 더 이상 폴링 할 필요가 없으며 대신 가져온 각 파일에 대한 완전성 검사를 호출합니다.

경쟁 조건을주의 깊게 살펴보면 두 가지 가져 오기가 동시에 완료되면 야간 작업이 병렬로 실행되지 않습니다.

관련 문제