本文整理汇总了Golang中github.com/tsuru/tsuru/provision.App.GetCname方法的典型用法代码示例。如果您正苦于以下问题:Golang App.GetCname方法的具体用法?Golang App.GetCname怎么用?Golang App.GetCname使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/tsuru/tsuru/provision.App
的用法示例。
在下文中一共展示了App.GetCname方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: minifyApp
func minifyApp(app provision.App) (miniApp, error) {
units, err := app.Units()
if err != nil {
return miniApp{}, err
}
return miniApp{
Name: app.GetName(),
Units: units,
CName: app.GetCname(),
Ip: app.GetIp(),
Lock: app.GetLock(),
}, nil
}
示例2: Restart
func (p *FakeProvisioner) Restart(app provision.App, process string, w io.Writer) error {
if err := p.getError("Restart"); err != nil {
return err
}
p.mut.Lock()
defer p.mut.Unlock()
pApp, ok := p.apps[app.GetName()]
if !ok {
return errNotProvisioned
}
pApp.restarts[process]++
p.apps[app.GetName()] = pApp
if w != nil {
fmt.Fprintf(w, "restarting app")
}
r := routertest.FakeRouter
err := r.AddBackend(app.GetName())
if err != nil && err != router.ErrBackendExists {
return err
}
var newAddr string
if newAddr, err = r.Addr(app.GetName()); err == nil && newAddr != app.GetIp() {
var conn *db.Storage
conn, err = db.Conn()
if err != nil {
return err
}
defer conn.Close()
err = conn.Apps().Update(bson.M{"name": app.GetName()}, bson.M{"$set": bson.M{"ip": newAddr}})
if err != nil {
return err
}
}
for _, cname := range app.GetCname() {
err = r.SetCName(cname, app.GetName())
if err != nil && err != router.ErrCNameExists {
return err
}
}
oldRoutes, err := r.Routes(app.GetName())
if err != nil {
return err
}
expectedMap := make(map[string]*url.URL)
units := p.apps[app.GetName()].units
if err != nil {
return err
}
for _, unit := range units {
expectedMap[unit.Address.String()] = unit.Address
}
var toRemove []*url.URL
for _, url := range oldRoutes {
if _, isPresent := expectedMap[url.String()]; isPresent {
delete(expectedMap, url.String())
} else {
toRemove = append(toRemove, url)
}
}
for _, toAddUrl := range expectedMap {
err := r.AddRoute(app.GetName(), toAddUrl)
if err != nil {
return err
}
}
for _, toRemoveUrl := range toRemove {
err := r.RemoveRoute(app.GetName(), toRemoveUrl)
if err != nil {
return err
}
}
return nil
}