mirror of
https://github.com/aljazceru/crawler_v2.git
synced 2025-12-18 07:54:25 +01:00
closing channels as soon as the producer has stopped
This commit is contained in:
@@ -85,6 +85,7 @@ func main() {
|
|||||||
defer producers.Done()
|
defer producers.Done()
|
||||||
gate := pipe.NewExistenceGate(db)
|
gate := pipe.NewExistenceGate(db)
|
||||||
pipe.Firehose(ctx, config.Firehose, gate, pipe.Send(recorderQueue))
|
pipe.Firehose(ctx, config.Firehose, gate, pipe.Send(recorderQueue))
|
||||||
|
close(recorderQueue)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
@@ -100,7 +101,7 @@ func main() {
|
|||||||
go func() {
|
go func() {
|
||||||
defer producers.Done()
|
defer producers.Done()
|
||||||
pipe.Arbiter(ctx, config.Arbiter, db, pipe.Send(fetcherQueue))
|
pipe.Arbiter(ctx, config.Arbiter, db, pipe.Send(fetcherQueue))
|
||||||
close(fetcherQueue) // Arbiter is the only pubkey producer
|
close(fetcherQueue)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
consumers.Add(1)
|
consumers.Add(1)
|
||||||
|
|||||||
@@ -81,13 +81,13 @@ func main() {
|
|||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
pipe.FetcherDB(ctx, config.Fetcher, fetcherQueue, store, pipe.Send(grapherQueue))
|
pipe.FetcherDB(ctx, config.Fetcher, fetcherQueue, store, pipe.Send(grapherQueue))
|
||||||
close(grapherQueue) // FetcherDB is the only event producer
|
close(grapherQueue)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
pipe.Arbiter(ctx, config.Arbiter, db, pipe.Send(fetcherQueue))
|
pipe.Arbiter(ctx, config.Arbiter, db, pipe.Send(fetcherQueue))
|
||||||
close(fetcherQueue) // Arbiter is the only pubkey producer
|
close(fetcherQueue)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
|
|||||||
Reference in New Issue
Block a user