Refactoring PluginManager to be a self registering service (#11755)

* refator: refactored PluginManager to be a self registering service, a lot more work needed to fully make plugin manager use instance variables and not so many globals
This commit is contained in:
Torkel Ödegaard
2018-04-27 15:11:55 +02:00
committed by Carl Bergquist
parent 8f29d28572
commit a8eed9d344
8 changed files with 64 additions and 74 deletions
+6 -19
View File
@@ -26,23 +26,6 @@ type GithubLatest struct {
Testing string `json:"testing"`
}
func StartPluginUpdateChecker() {
if !setting.CheckForUpdates {
return
}
// do one check directly
go checkForUpdates()
ticker := time.NewTicker(time.Minute * 10)
for {
select {
case <-ticker.C:
checkForUpdates()
}
}
}
func getAllExternalPluginSlugs() string {
var result []string
for _, plug := range Plugins {
@@ -56,8 +39,12 @@ func getAllExternalPluginSlugs() string {
return strings.Join(result, ",")
}
func checkForUpdates() {
log.Trace("Checking for updates")
func (pm *PluginManager) checkForUpdates() {
if !setting.CheckForUpdates {
return
}
pm.log.Debug("Checking for updates")
pluginSlugs := getAllExternalPluginSlugs()
resp, err := httpClient.Get("https://grafana.com/api/plugins/versioncheck?slugIn=" + pluginSlugs + "&grafanaVersion=" + setting.BuildVersion)