나는 모든 사람들이 종종 NSOperationQueue를 사용하여 웹 서비스를 통해 일부 데이터를 업로드하는 launchd 데몬을 가지고 있습니다.웹 서비스를 통해 디스크에 항목 영구 업로드
이 데이터를 유지할 수 있어야합니다. 나중에 세션이 종료 될 때 (예 : 컴퓨터가 종료 될 때) 오류 발생시 다시 업로드 할 수 있어야합니다.
이것은 고부하 응용 프로그램이 아니며 때때로 분당 1 ~ 2 개 미만의 항목을 간헐적으로 수신하며 그 사이에 여러 시간 간격이있는 경우가 많습니다. 다음과 같은 장소에서이 지속성없이
내 초기 구현은 다음
- 데몬 데이터를 수신한다.
- 데몬은 데이터를 MyDataObject 유형의 객체로 구문 분석합니다.
- 데몬은 업로드 할 개체로 MyDataObject를 사용하여 NSOperation 하위 클래스의 인스턴스를 만들고이를 NSOperationQueue에 추가합니다.
- NSOperationQueue는 가능한 한 웹 서비스를 통해 MyDataObject를 업로드하고 업로드합니다.
이 부분은 모두 정상적으로 작동합니다. 지금 내가 추가하고 싶은 부분은 웹 서비스 실패, 컴퓨터 종료 등의 경우 지속성입니다.
NSKeyed (Un) 아카이버와 함께 MyDataObjects의 NSMutableArray를 사용할 수있는 것처럼 보입니다. 아직 업로드되지 않은 상태이며 배열에서 항목을 제거하는 모든 작업의 끝난 키를 관찰했지만 더 간단한 방법이 있어야하는 것처럼 보입니다. 잘못 될 수있는 공간이 적습니다 (특히 스레드까지). 안전은 간다.
누군가 올바른 방향으로 나를 가리킬 수 있습니까?