Groovy 具有并行操作的 XmlSlurper

Groovy XmlSlurper with Parallel Operation

我正在解析一些 rss xml 提要,需要在描述字段中扩展一些 url。

现在我的代码写成

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

items.collectParallel 块需要被 GParsPool.withPool 块包围才能使 collectParallel 和其他 GPars 方法可用,例如:

import static groovyx.gpars.GParsPool.withPool

// ...

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