@@ -53,7 +53,8 @@ type PollingProjectConfigManager struct {
53
53
exeCtx utils.ExecutionCtx // context used for execution control
54
54
}
55
55
56
- func (cm * PollingProjectConfigManager ) Sync (datafile []byte ) {
56
+ // SyncConfig gets current datafile and updates projectConfig
57
+ func (cm * PollingProjectConfigManager ) SyncConfig (datafile []byte ) {
57
58
var e error
58
59
var code int
59
60
if len (datafile ) == 0 {
@@ -64,6 +65,7 @@ func (cm *PollingProjectConfigManager) Sync(datafile []byte) {
64
65
}
65
66
}
66
67
68
+ // TODO: Compare revision numbers here and set projectConfig only if the revision number has changed
67
69
projectConfig , err := datafileprojectconfig .NewDatafileProjectConfig (datafile )
68
70
if err != nil {
69
71
cmLogger .Error ("failed to create project config" , err )
@@ -78,15 +80,15 @@ func (cm *PollingProjectConfigManager) Sync(datafile []byte) {
78
80
func (cm * PollingProjectConfigManager ) start (initialDatafile []byte , init bool ) {
79
81
80
82
if init {
81
- cm .Sync (initialDatafile )
83
+ cm .SyncConfig (initialDatafile )
82
84
return
83
85
}
84
86
85
87
t := time .NewTicker (cm .pollingInterval )
86
88
for {
87
89
select {
88
90
case <- t .C :
89
- cm .Sync ([]byte {})
91
+ cm .SyncConfig ([]byte {})
90
92
case <- cm .exeCtx .GetContext ().Done ():
91
93
cmLogger .Debug ("Polling Config Manager Stopped" )
92
94
return
@@ -112,7 +114,7 @@ func NewPollingProjectConfigManagerWithOptions(exeCtx utils.ExecutionCtx, sdkKey
112
114
113
115
pollingProjectConfigManager := PollingProjectConfigManager {requester : requester , pollingInterval : pollingInterval , exeCtx : exeCtx }
114
116
115
- pollingProjectConfigManager .Sync (options .Datafile ) // initial poll
117
+ pollingProjectConfigManager .SyncConfig (options .Datafile ) // initial poll
116
118
117
119
cmLogger .Debug ("Polling Config Manager Initiated" )
118
120
go pollingProjectConfigManager .start ([]byte {}, false )
0 commit comments