-
Notifications
You must be signed in to change notification settings - Fork 6
/
influx.go
46 lines (39 loc) · 1.33 KB
/
influx.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package main
import (
"github.com/koestler/go-mqtt-to-influx/v2/config"
"github.com/koestler/go-mqtt-to-influx/v2/influxClient"
LocalDb "github.com/koestler/go-mqtt-to-influx/v2/localDb"
"github.com/koestler/go-mqtt-to-influx/v2/statistics"
"log"
)
func runInfluxClient(
cfg *config.Config,
localDbInstance LocalDb.LocalDb,
statisticsInstance statistics.Statistics,
initiateShutdown chan<- error,
) (influxClientPoolInstance *influxClient.ClientPool) {
influxClientPoolInstance = influxClient.RunPool()
// convert []*config.InfluxAuxiliaryTags to []influxClient.AuxiliaryTag
auxiliaryTags := make([]influxClient.AuxiliaryTag, len(cfg.InfluxAuxiliaryTags()))
for i, t := range cfg.InfluxAuxiliaryTags() {
auxiliaryTags[i] = t
}
for _, influxClientConfig := range cfg.InfluxClients() {
if cfg.LogWorkerStart() {
log.Printf(
"influxClient[%s]: start: url='%s', len(token)=%d, org='%s', bucket='%s'",
influxClientConfig.Name(),
influxClientConfig.Url(),
len(influxClientConfig.Token()),
influxClientConfig.Org(),
influxClientConfig.Bucket(),
)
}
client := influxClient.RunClient(influxClientConfig, auxiliaryTags, localDbInstance, statisticsInstance)
influxClientPoolInstance.AddClient(client)
if cfg.LogWorkerStart() {
log.Printf("influxClient[%s]: started", influxClientConfig.Name())
}
}
return
}