Browse Source

Migrate seeder init to goroutine

master
Lyndsay Roger 9 years ago
parent
commit
73e32468d5
  1. 1
      main.go
  2. 9
      seeder.go

1
main.go

@ -122,7 +122,6 @@ func main() { @@ -122,7 +122,6 @@ func main() {
done := make(chan struct{})
// start a goroutine for each seeder
for _, s := range config.seeders {
s.initCrawlers()
wg.Add(1)
go s.runSeeder(done, &wg)
}

9
seeder.go

@ -128,14 +128,15 @@ func (s *dnsseeder) runSeeder(done <-chan struct{}, wg *sync.WaitGroup) { @@ -128,14 +128,15 @@ func (s *dnsseeder) runSeeder(done <-chan struct{}, wg *sync.WaitGroup) {
// receive the results from the crawl goroutines
resultsChan := make(chan *result)
// start initial scan now
// load data from other seeders so we can start crawling nodes
s.initCrawlers()
// start initial scan now so we don't have to wait for the timers to fire
s.startCrawlers(resultsChan)
// used to cleanout and cycle records in theList
// create timing channels for regular tasks
auditChan := time.NewTicker(time.Minute * auditDelay).C
// used to start crawlers on a regular basis
crawlChan := time.NewTicker(time.Second * crawlDelay).C
// extract good dns records from all nodes on regular basis
dnsChan := time.NewTicker(time.Second * dnsDelay).C
dowhile := true

Loading…
Cancel
Save