mirror of
https://github.com/grafana/grafana.git
synced 2024-11-30 20:54:22 -06:00
32 lines
928 B
Go
32 lines
928 B
Go
|
package setting
|
||
|
|
||
|
import (
|
||
|
"time"
|
||
|
|
||
|
"gopkg.in/ini.v1"
|
||
|
)
|
||
|
|
||
|
type DashboardPreviewsSettings struct {
|
||
|
SchedulerInterval time.Duration
|
||
|
MaxCrawlDuration time.Duration
|
||
|
RenderingTimeout time.Duration
|
||
|
CrawlThreadCount uint32
|
||
|
}
|
||
|
|
||
|
func readDashboardPreviewsSettings(iniFile *ini.File) DashboardPreviewsSettings {
|
||
|
maxThreadCount := uint32(20)
|
||
|
|
||
|
s := DashboardPreviewsSettings{}
|
||
|
|
||
|
previewsCrawlerSection := iniFile.Section("dashboard_previews.crawler")
|
||
|
s.CrawlThreadCount = uint32(previewsCrawlerSection.Key("thread_count").MustUint(6))
|
||
|
if s.CrawlThreadCount > maxThreadCount {
|
||
|
s.CrawlThreadCount = maxThreadCount
|
||
|
}
|
||
|
|
||
|
s.SchedulerInterval = previewsCrawlerSection.Key("scheduler_interval").MustDuration(12 * time.Hour)
|
||
|
s.MaxCrawlDuration = previewsCrawlerSection.Key("max_crawl_duration").MustDuration(1 * time.Hour)
|
||
|
s.RenderingTimeout = previewsCrawlerSection.Key("rendering_timeout").MustDuration(20 * time.Second)
|
||
|
return s
|
||
|
}
|