From d6f7a9e28dfd5abff08b6aaf6fb3493c46bd1e39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Mon, 25 Nov 2019 12:49:04 +0100 Subject: resources/images: Make the image cache more robust Also allow timeout to be set as a duration string, e.g. `30s`. Fixes #6501 --- hugolib/site.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'hugolib/site.go') diff --git a/hugolib/site.go b/hugolib/site.go index 0b45c4803..4b4df6451 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -181,11 +181,12 @@ func (init *siteInit) Reset() { init.menus.Reset() } -func (s *Site) initInit(init *lazy.Init, pctx pageContext) { +func (s *Site) initInit(init *lazy.Init, pctx pageContext) bool { _, err := init.Do() if err != nil { s.h.FatalError(pctx.wrapError(err)) } + return err == nil } func (s *Site) prepareInits() { @@ -410,10 +411,23 @@ func newSite(cfg deps.DepsCfg) (*Site, error) { return nil, err } + timeout := 30 * time.Second + if cfg.Language.IsSet("timeout") { + switch v := cfg.Language.Get("timeout").(type) { + case int: + timeout = time.Duration(v) * time.Millisecond + case string: + d, err := time.ParseDuration(v) + if err == nil { + timeout = d + } + } + } + siteConfig := siteConfigHolder{ sitemap: config.DecodeSitemap(config.Sitemap{Priority: -1, Filename: "sitemap.xml"}, cfg.Language.GetStringMap("sitemap")), taxonomiesConfig: taxonomies, - timeout: time.Duration(cfg.Language.GetInt("timeout")) * time.Millisecond, + timeout: timeout, hasCJKLanguage: cfg.Language.GetBool("hasCJKLanguage"), enableEmoji: cfg.Language.Cfg.GetBool("enableEmoji"), } -- cgit v1.2.3