summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go12
1 files changed, 9 insertions, 3 deletions
diff --git a/main.go b/main.go
index 5f738aa..aa90be3 100644
--- a/main.go
+++ b/main.go
@@ -188,6 +188,7 @@ func main() {
// === concurrent ===
queue := make(chan *Utterance, len(utterances))
geshaft := make(chan *Utterance, len(utterances))
+ done := make(chan bool, 1)
for _, ut := range utterances {
if _, err := os.Stat(ut.OutPath); os.IsNotExist(err) {
@@ -204,23 +205,28 @@ func main() {
workers := 100
for i := 0; i < workers; i++ {
- go worker(queue, i, geshaft)
+ go worker(queue, done, i, geshaft)
}
for {
if len(queue) == 0 {
+ fmt.Println("empty queue: sending true to done")
+ done <- true
// give time for workers to finish
- time.Sleep(3 * time.Second)
+ fmt.Println("sleeping for few seconds")
+ time.Sleep(5 * time.Second)
+ fmt.Println("closing queue")
close(queue)
+ fmt.Println("breaking from the loop")
break
}
time.Sleep(1 * time.Second)
}
+ close(geshaft)
for ut := range geshaft {
filteredUtterances = append(filteredUtterances, ut)
}
- close(geshaft)
newMeta := utterancesToFileTextMap(filteredUtterances)
writeCSV(mapToCSV(newMeta))
}