Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-04-05 11:09:22 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-04-05 11:21:25 +0300
commit87b16abd93ff60acd245776d5b0d914fd580c259 (patch)
tree19dcc2ef755814cf2b19be533df0fe978db46f55 /config
parent415ca9673d3bd3c06ab94f3d83897c892fce5f27 (diff)
Add HUGO_NUMWORKERMULTIPLIER
And use that to calculate number of workers, if set, else fall back to number of logical CPUs. Also tweak the relevant related settings to match the new setup. Also remove the setting of `runtime.GOMAXPROCS` as this has been the default behaviour since Go 1.5. Fixes #5814
Diffstat (limited to 'config')
-rw-r--r--config/env.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/config/env.go b/config/env.go
new file mode 100644
index 000000000..adf6f9b68
--- /dev/null
+++ b/config/env.go
@@ -0,0 +1,33 @@
+// Copyright 2019 The Hugo Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package config
+
+import (
+ "os"
+ "runtime"
+ "strconv"
+)
+
+// GetNumWorkerMultiplier returns the base value used to calculate the number
+// of workers to use for Hugo's parallel execution.
+// It returns the value in HUGO_NUMWORKERMULTIPLIER OS env variable if set to a
+// positive integer, else the number of logical CPUs.
+func GetNumWorkerMultiplier() int {
+ if gmp := os.Getenv("HUGO_NUMWORKERMULTIPLIER"); gmp != "" {
+ if p, err := strconv.Atoi(gmp); err == nil && p > 0 {
+ return p
+ }
+ }
+ return runtime.NumCPU()
+}