@@ -16,18 +16,20 @@ type Daemon struct {
16
16
wg * sync.WaitGroup
17
17
quit chan bool
18
18
indexers []indexers.Indexer
19
+ poll time.Duration
19
20
20
21
prevStats map [indexers.Indexer ]indexers.Stats
21
22
}
22
23
23
24
// NewDaemon creates a new daemon to run the given indexers
24
- func NewDaemon (cfg * Config , db * sql.DB , ixs []indexers.Indexer ) * Daemon {
25
+ func NewDaemon (cfg * Config , db * sql.DB , ixs []indexers.Indexer , poll time. Duration ) * Daemon {
25
26
return & Daemon {
26
27
cfg : cfg ,
27
28
db : db ,
28
29
wg : & sync.WaitGroup {},
29
30
quit : make (chan bool ),
30
31
indexers : ixs ,
32
+ poll : poll ,
31
33
prevStats : make (map [indexers.Indexer ]indexers.Stats , len (ixs )),
32
34
}
33
35
}
@@ -41,13 +43,13 @@ func (d *Daemon) Start() {
41
43
}
42
44
43
45
for _ , i := range d .indexers {
44
- d .startIndexer (i , time . Second * 5 )
46
+ d .startIndexer (i )
45
47
}
46
48
47
49
d .startStatsReporter (time .Minute )
48
50
}
49
51
50
- func (d * Daemon ) startIndexer (indexer indexers.Indexer , interval time. Duration ) {
52
+ func (d * Daemon ) startIndexer (indexer indexers.Indexer ) {
51
53
d .wg .Add (1 ) // add ourselves to the wait group
52
54
53
55
log := logrus .WithField ("indexer" , indexer .Name ())
@@ -62,7 +64,7 @@ func (d *Daemon) startIndexer(indexer indexers.Indexer, interval time.Duration)
62
64
select {
63
65
case <- d .quit :
64
66
return
65
- case <- time .After (interval ):
67
+ case <- time .After (d . poll ):
66
68
_ , err := indexer .Index (d .db , d .cfg .Rebuild , d .cfg .Cleanup )
67
69
if err != nil {
68
70
log .WithError (err ).Error ("error during indexing" )
0 commit comments