2013-02-21 118 views
0

我正在写一个webspider并在Heroku上分配它,并在主演员(分配路由器)达到512Mb后崩溃。AKKA:演员路由器消息持久

基本上每个解析的URL都被发送到FetchRouter。队列中的消息列表很大,以至于无法访问内存。

有什么方法可以将这个列表存储在磁盘中吗?

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

问题是,一个加载页面会产生大量的新链接访问,所以你的邮箱将炸毁。我不知道爬虫是如何处理这个问题的,但是应该有大量关于它的研究。 – 2013-02-21 18:45:45

回答

1

确实。

FileBasedMailbox。查看Akka 2.0.x PDF(或相应的网页)的第7.1节“Durable Mailboxes”。

+0

是的,但这并不能节省您的内存不足,它只会保存消息。 – 2013-02-21 18:39:17

+0

伙计们,我不能告诉play2.1读取配置以使用FileBasedMailbox作为我的路由器。你如何去做? – 2013-03-02 13:16:36