go once sync.Once

unc (c *ClusterFile) Process() (err error) {
if !fileutil.IsExist(c.path) {
return ErrClusterFileNotExists
}
c.once.Do(func() {
err = func() error {
clusterFileData, err := c.loadClusterFile()
if err != nil {
return err
}
logger.Debug("rendered Clusterfile: %+v", string(clusterFileData))
return c.decode(clusterFileData)
}()
})
return
}
posted @ 2024-05-29 21:22  技术颜良  阅读(2)  评论(0编辑  收藏  举报