2009-04-27 2 views
1

데이터를 많이 얻기 위해 웹 사이트를 트래킹하는 서비스가 있습니다. 이것은 데이터를 가져 와서 데이터베이스에 저장하는 5 가지 스레드에 대해 약 3 일 (추측으로는 아직 전체적인 방식으로 실행되지 않았습니다.) WebClient.DownloadData가 실패하면 오류가 데이터베이스에 기록되고 무시되지만 약 3am의 yesturday 아침에 약 2,000 건의 웹 요청이 실패한 후에 서비스가 중지됩니다. 원격 서버 521 예외 또는 작업 시간 초과를 반환합니다. 나는 그것에 예기치 않은 예외 잡기를 가지고있다. 그러나 doesnt는 거기에 들어간다! 나는 몇 주 동안이 오류를 고치려고 노력했지만 오류가 발생하기까지는 오래 걸린다! 왜 이런 일이 계속 일어나는 지 아는 사람이 있습니까?내 스파이더 서비스가 예기치 않게 계속 멈추고 있습니까?

답변

0

당신은 당신의 설명에서, 우리에게 자세한 내용은, 내가 생각하고 몇 가지 코드 조각을주고 내가 생각

을 필요 해요, 당신은 두 가지 문제가있다 - 하나, 웹 요청은 521 오류와 함께 실패 시작 , 둘, 당신의 서비스가 멈 춥니 다.

많은 웹 요청 실패 후에 서비스가 중지되면 일부 종류의 리소스가 고갈 될 것입니다. 메모리가 부족합니까? 파일 핸들? 실? 다른 것? 웹 요청이 실패 할 때 응용 프로그램은 무엇을합니까?

+0

이 문제를 수락 해 주셔서 감사합니다. 그렇다면 올바른 방향으로 안내해 드렸습니까? 무슨 문제 였어? –

0

나에게 메모리 누출 소리가 들리거나 호출 스택이 너무 심해져서 거미가 자원을 다 떨어지게 된 것 같습니다. 이처럼 매우 큰 다차원 배열을 구축하는 것과 같은 문제가 발생하여 SVD를 사용하여 검색어를 서로 연결했습니다.