fnproject hot functions 说明

Posted rongfengliang-荣锋亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fnproject hot functions 说明相关的知识,希望对你有一定的参考价值。

1. 简单介绍
 所谓 hot  functions 实际上就是长时间运行的functions ,简单理解类似后台任务
2. fnproject  处理的方式
fnproject 使用 类似 http的处理方式
3. 配置使用
   参考代码
package main
import (
    "bufio"
    "bytes"
    "fmt"
    "io/ioutil"
    "net/http"
    "os"
    "strconv"
)
func main() {
    for {
        res := http.Response{
            Proto:      "HTTP/1.1",
            ProtoMajor: 1,
            ProtoMinor: 1,
            StatusCode: 200,
            Status:     "OK",
        }
        r := bufio.NewReader(os.Stdin)
        req, err := http.ReadRequest(r)
        var buf bytes.Buffer
        if err != nil {
            res.StatusCode = 500
            res.Status = http.StatusText(res.StatusCode)
            fmt.Fprintln(&buf, err)
        } else {
            l, _ := strconv.Atoi(req.Header.Get("Content-Length"))
            p := make([]byte, l)
            r.Read(p)
            fmt.Fprintf(&buf, "Hello %s\n", p)
            for k, vs := range req.Header {
                fmt.Fprintf(&buf, "ENV: %s %#v\n", k, vs)
            }
        }
        res.Body = ioutil.NopCloser(&buf)
        res.ContentLength = int64(buf.Len())
        res.Write(os.Stdout)
    }
}
    func.yaml  配置
format (mandatory) either "default" or "http". If "http", then it is a hot function.
idle_timeout (optional) - idle timeout (in seconds) before function termination, default 30 seconds.
4. 参考资料
https://github.com/fnproject/fn/tree/master/examples/tutorial/hotfunctions
https://github.com/fnproject/fn/blob/master/docs/hot-functions.md

以上是关于fnproject hot functions 说明的主要内容,如果未能解决你的问题,请参考以下文章

fnproject AWS Lambda 格式 functions

oracle fnproject 开源faas 框架

fnproject 试用之后的几个问题

fnproject faas 框架试用

fnproject 私有镜像发布

fnproject 配置选项