33 lines
826 B
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)
|
|
}
|