本文整理匯總了Golang中github.com/docker/swarmkit/api.Resources.NanoCPUs方法的典型用法代碼示例。如果您正苦於以下問題:Golang Resources.NanoCPUs方法的具體用法?Golang Resources.NanoCPUs怎麽用?Golang Resources.NanoCPUs使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/docker/swarmkit/api.Resources
的用法示例。
在下文中一共展示了Resources.NanoCPUs方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: createOrUpdateNode
func (s *Scheduler) createOrUpdateNode(n *api.Node) {
nodeInfo, _ := s.nodeHeap.nodeInfo(n.ID)
var resources api.Resources
if n.Description != nil && n.Description.Resources != nil {
resources = *n.Description.Resources
// reconcile resources by looping over all tasks in this node
for _, task := range nodeInfo.Tasks {
reservations := taskReservations(task.Spec)
resources.MemoryBytes -= reservations.MemoryBytes
resources.NanoCPUs -= reservations.NanoCPUs
}
}
nodeInfo.Node = n
nodeInfo.AvailableResources = resources
s.nodeHeap.addOrUpdateNode(nodeInfo)
}
示例2: parseResourceCPU
func parseResourceCPU(flags *pflag.FlagSet, resources *api.Resources, name string) error {
cpu, err := flags.GetString(name)
if err != nil {
return err
}
nanoCPUs, ok := new(big.Rat).SetString(cpu)
if !ok {
return fmt.Errorf("invalid cpu: %s", cpu)
}
cpuRat := new(big.Rat).Mul(nanoCPUs, big.NewRat(1e9, 1))
if !cpuRat.IsInt() {
return fmt.Errorf("CPU value cannot have more than 9 decimal places: %s", cpu)
}
resources.NanoCPUs = cpuRat.Num().Int64()
return nil
}