首页 > 其他 > 详细

fnproject hot functions 说明

时间:2017-10-05 18:22:29      阅读:306      评论:0      收藏:0      [点我收藏+]
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 说明

原文:http://www.cnblogs.com/rongfengliang/p/7629472.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!