agent/api/task/task_linux.go
func (task *Task) BuildLinuxResourceSpec() (specs.LinuxResources, error) {
	linuxResourceSpec := specs.LinuxResources{}

	// If task level CPU limits are requested, set CPU quota + CPU period
	// Else set CPU shares
	if task.CPU > 0 {
		linuxCPUSpec, err := task.buildExplicitLinuxCPUSpec()
		if err != nil {
			return specs.LinuxResources{}, err
		}
		linuxResourceSpec.CPU = &linuxCPUSpec
	} else {
		linuxCPUSpec := task.buildImplicitLinuxCPUSpec()
		linuxResourceSpec.CPU = &linuxCPUSpec
	}

	// Validate and build task memory spec
	// NOTE: task memory specifications are optional
	if task.Memory > 0 {
		linuxMemorySpec, err := task.buildLinuxMemorySpec()
		if err != nil {
			return specs.LinuxResources{}, err
		}
		linuxResourceSpec.Memory = &linuxMemorySpec
	}

	return linuxResourceSpec, nil
}
func (task *Task) BuildLinuxResourceSpec() (specs.LinuxResources, error) {
	linuxResourceSpec := specs.LinuxResources{}

	// If task level CPU limits are requested, set CPU quota + CPU period
	// Else set CPU shares
	if task.CPU > 0 {
		linuxCPUSpec, err := task.buildExplicitLinuxCPUSpec()
		if err != nil {
			return specs.LinuxResources{}, err
		}
		linuxResourceSpec.CPU = &linuxCPUSpec
	} else {
		linuxCPUSpec := task.buildImplicitLinuxCPUSpec()
		linuxResourceSpec.CPU = &linuxCPUSpec
	}

	// Validate and build task memory spec
	// NOTE: task memory specifications are optional
	if task.Memory > 0 {
		linuxMemorySpec, err := task.buildLinuxMemorySpec()
		if err != nil {
			return specs.LinuxResources{}, err
		}
		linuxResourceSpec.Memory = &linuxMemorySpec
	}

	return linuxResourceSpec, nil
}
func ( task * Task ) BuildLinuxResourceSpec ( ) ( specs . LinuxResources , error ) { linuxResourceSpec := specs . LinuxResources { } // If task level CPU limits are requested, set CPU quota + CPU period // Else set CPU shares if task . CPU > 0 { linuxCPUSpec , err := task . buildExplicitLinuxCPUSpec ( ) if err != nil { return specs . LinuxResources { } , err } linuxResourceSpec . CPU = & linuxCPUSpec } else { linuxCPUSpec := task . buildImplicitLinuxCPUSpec ( ) linuxResourceSpec . CPU = & linuxCPUSpec } // Validate and build task memory spec // NOTE: task memory specifications are optional if task . Memory > 0 { linuxMemorySpec , err := task . buildLinuxMemorySpec ( ) if err != nil { return specs . LinuxResources { } , err } linuxResourceSpec . Memory = & linuxMemorySpec } return linuxResourceSpec , nil }
// BuildLinuxResourceSpec returns a linuxResources object for the task cgroup
BuildLinuxResourceSpec returns a linuxResources object for the task cgroup