1 回答
TA贡献2041条经验 获得超4个赞
可以在 OpenWhisk 操作中保留全局状态,这适用于 Golang 函数。例如,这里有一个counter.go函数,每次调用该函数时都会增加一个全局计数器。
package main
var counter = 1
func Main(args map[string]interface{}) map[string]interface{} {
msg := make(map[string]interface{})
msg["counter"] = counter
counter = counter + 1
return msg
}
如果您创建此操作并连续运行多次,您将看到计数器值每次都增加。
> wsk action create counter counter.go
> wsk action invoke counter --result
{
"counter": 1
}
> wsk action invoke counter --result
{
"counter": 2
}
> wsk action invoke counter --result
{
"counter": 3
}
所以你想做的事情应该有效。在您的示例中,检查操作是否成功完成并且没有引发错误和失败(这会阻止进一步重用)。此外,检查激活记录以查看激活是热激活还是冷激活。这可以通过检查激活记录是否具有initTime指示冷启动的注释来查看。如果不存在,则激活是热的,并且最新的激活在与以前的激活相同的上下文中运行。
- 1 回答
- 0 关注
- 143 浏览
添加回答
举报
