2013-02-21 9 views
0

나는 웹 스파이더를 작성하고 그것을 Heroku에 할당하고 (라우터를 할당 한 주인공) 512Mb에 도달하면 충돌합니다.AKKA : 액터 라우터 메시지 지속성

기본적으로 구문 분석되는 모든 URL은 FetchRouter로 전송됩니다. 대기열의 메시지 목록은 메모리에 들어가기 위해 커다란 메시지입니다.

디스크에이 목록을 저장할 방법이 있습니까?

fetcherRouter = context.actorOf(Props[URLFetcher].withRouter(RandomRouter(30)), name = "fetcherRouter") 
+0

로드 된 페이지가 방문 할 새 링크를 여러 개 생성하므로 사서함이 폭발합니다. 크롤러가 일반적으로이를 어떻게 처리하는지는 모르지만 그에 대한 많은 연구가 가능해야합니다. –

답변

1

실제로.

FileBasedMailbox입니다. Akka 2.0.x PDF (또는 해당 웹 페이지)의 7.1, "Durable Mailboxes"절을 참조하십시오.

+0

네,하지만 메모리가 부족하지 않도록 저장합니다. 단지 메시지를 저장합니다. –

+0

얘들 아, play2.1에 라우터에 FileBasedMailbox를 사용하기위한 구성을 읽으라고 말할 수는 없다. 어떻게 할 수 있니? –

관련 문제