gpt4 book ai didi

python - Flask 在 golang 中的 @before_first_request 相当于什么?

转载 作者:IT王子 更新时间:2023-10-29 01:39:51 25 4
gpt4 key购买 nike

出于性能原因,我们正在将 Flask 应用程序切换到 golang。在 flask 中,有一个“before_first_request”,它表示应用程序启动时要运行的函数。这个函数只运行一次。我一直在阅读文档,但在 golang 中找不到任何等效项……它存在吗? (我想它不一定是 net/http 包的一部分)

我们的 flask :

@before_first_request
def before(*args, **kwargs):
....
return

最佳答案

一种方法是将函数逻辑放在模块的 func init() { ... } 方法中。

否则你可以使用 sync.Once

http://play.golang.org/p/SEJxEEDnxt

package main

import (
"fmt"
"sync"
)

func main() {
var once sync.Once
onceBody := func() {
fmt.Println("Only once")
}
done := make(chan bool)
for i := 0; i < 10; i++ {
go func() {
once.Do(onceBody)
done <- true
}()
}
for i := 0; i < 10; i++ {
<-done
}
}

关于python - Flask 在 golang 中的 @before_first_request 相当于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25494103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com