如何在 OpenWhisk 中执行并行操作?

How can one do parallel actions in OpenWhisk?

我有两个操作(每个操作对服务执行不同的 REST 调用以收集一些数据),我想创建一个元操作,它实质上触发这两个操作并聚合结果。

我刚刚开始使用 OpenWhisk,而且我非常清楚如何使用我用来实现操作的给定语言来执行此操作,但我很好奇执行此操作的适当 OpenWhisk 方法可能是什么?

如果你想聚合结果,目前除了你描述的方法没有其他方法:

创建一个新动作,触发两个动作 (blocking=true) 并合并结果。

npm 上的 openwhisk 模块使这变得格外简单,因为您可以在那里调用一系列操作:

var openwhisk = require("openwhisk")
function main(params) {
    var ow = openwhisk()
    return ow.actions.invoke([
        {name: "action1", blocking: true}, 
        {name: "action2", blocking: true}
    ]).then(([result1, result2]) => { /* do something */ });
}

blocking 调用操作,使其结果在响应中可用,而不是不使用 blocking 时,您只会获得一个激活 ID 以异步方式获取结果。