2016-08-15 62 views
0

我解析了一些rss的xml飼料,並需要擴大描述字段中的一些網址。現在Groovy XmlSlurper與並行操作

我的代碼寫成

items.collect { 
    it.description = FullText.expand(it.description) 
    return it 
} 

在這種情況下,裏面的URL請求一個接一個,從而使得其工藝非常緩慢。

所以,我要像做

items.collectParallel { 
    it.description = FullText.expand(it.description) 
    return it 
} 

而是我得到的錯誤信息:

groovy.lang.MissingMethodException: No signature of method: groovy.util.slurpersupport.NodeChildren.collectParallel() is applicable for argument types

回答

1

items.collectParallel塊需要由GParsPool.withPool塊包圍有collectParallel和其他GPars方法可用,如:

import static groovyx.gpars.GParsPool.withPool 

// ... 

withPool { 
    items.collectParallel { 
     it.description = FullText.expand(it.description) 
     return it 
    } 
}