scheduler: Pass the strategy and filters as a creation argument.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
This commit is contained in:
Andrea Luzzardi 2014-11-17 13:31:56 -08:00
parent 6585d4cfb6
commit 0577135ea9
2 changed files with 8 additions and 4 deletions

View File

@ -18,11 +18,11 @@ type Scheduler struct {
filters []filter.Filter
}
func NewScheduler(cluster *libcluster.Cluster) *Scheduler {
func NewScheduler(cluster *libcluster.Cluster, strategy strategy.PlacementStrategy, filters []filter.Filter) *Scheduler {
return &Scheduler{
cluster: cluster,
strategy: &strategy.RandomPlacementStrategy{},
filters: []filter.Filter{},
strategy: strategy,
filters: filters,
}
}

View File

@ -9,6 +9,8 @@ import (
"github.com/docker/libcluster"
"github.com/docker/libcluster/api"
"github.com/docker/libcluster/scheduler"
"github.com/docker/libcluster/scheduler/filter"
"github.com/docker/libcluster/scheduler/strategy"
)
type logHandler struct {
@ -39,7 +41,9 @@ func main() {
log.Fatal(err)
}
}
c.Events(&logHandler{})
s := scheduler.NewScheduler(c)
s := scheduler.NewScheduler(c, &strategy.RandomPlacementStrategy{}, []filter.Filter{})
log.Fatal(api.ListenAndServe(c, s, ":4243"))
}