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

时间:2017-03-17 14:13:28

标签: openwhisk

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

我刚刚开始使用OpenWhisk,我几乎知道如何使用我用于实现操作的给定语言来执行此操作,但我很好奇OpenWhisk执行此操作的方式是什么?

1 个答案:

答案 0 :(得分:4)

如果您想汇总结果,目前除了您所描述的方式之外没有其他方式:

创建一个新动作,触发两个动作(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以异步方式获取结果。

相关问题