influxdb/flux/control/controller.go

33 lines
826 B
Go

package control
import (
"github.com/influxdata/flux/control"
"github.com/influxdata/flux/execute"
_ "github.com/influxdata/influxdb/flux/builtin"
"github.com/influxdata/influxdb/flux/functions/inputs"
"github.com/influxdata/platform/storage/reads"
"go.uber.org/zap"
)
func NewController(s reads.Store, logger *zap.Logger) *control.Controller {
// flux
var (
concurrencyQuota = 10
memoryBytesQuota = 1e6
)
cc := control.Config{
ExecutorDependencies: make(execute.Dependencies),
ConcurrencyQuota: concurrencyQuota,
MemoryBytesQuota: int64(memoryBytesQuota),
Logger: logger,
Verbose: false,
}
err := inputs.InjectFromDependencies(cc.ExecutorDependencies, inputs.Dependencies{Reader: reads.NewReader(s)})
if err != nil {
panic(err)
}
return control.New(cc)
}