Periodic tasks refactor (#62)

* Once every second the session run a list of periodic tasks on every
instance concurrently. We use these tasks to do things like:
- Collect mem and cpu stats
- Check if instance is part of a swarm cluster
- Broadcast information to connected clients
This commit is contained in:
Jonathan Leibiusky
2016-12-01 15:57:30 -03:00
committed by GitHub
parent 07fee4c1bf
commit afa47c0bfc
7 changed files with 178 additions and 101 deletions

11
services/task.go Normal file
View File

@@ -0,0 +1,11 @@
package services
type periodicTask interface {
Run(i *Instance)
}
var periodicTasks []periodicTask
func init() {
periodicTasks = append(periodicTasks, &collectStatsTask{}, &checkSwarmStatusTask{}, &broadcastInfoTask{})
}