summaryrefslogtreecommitdiff
path: root/workers.go
diff options
context:
space:
mode:
authorGrail Finder <wohilas@gmail.com>2023-02-18 21:10:50 +0600
committerGrail Finder <wohilas@gmail.com>2023-02-18 21:10:50 +0600
commit1ec6ff8ec85ea4597b4897f1d2f1a89ec5e1abb1 (patch)
treeca809686b6c3928b5f3c6879931e70decbe428d1 /workers.go
parentdf498c756b1cb0e3f045bc88396223272b713a4c (diff)
Feat: close channel before iterating
Diffstat (limited to 'workers.go')
-rw-r--r--workers.go15
1 files changed, 11 insertions, 4 deletions
diff --git a/workers.go b/workers.go
index 6fa4835..03c9072 100644
--- a/workers.go
+++ b/workers.go
@@ -2,15 +2,22 @@ package main
import "fmt"
-func worker(queue chan *Utterance, worknumber int, geshaft chan *Utterance) {
+func worker(queue chan *Utterance, done chan bool, worknumber int, geshaft chan *Utterance) {
for {
if len(queue) == 0 {
fmt.Println("empty queue, number", worknumber)
return
}
- ut := <-queue
- if err := cutoutClipAndTranscode(ut); err == nil {
- geshaft <- ut
+ select {
+
+ case ut := <-queue:
+ if err := cutoutClipAndTranscode(ut); err == nil {
+ geshaft <- ut
+ }
+
+ case <-done:
+ fmt.Println("done signal, number", worknumber)
+ return
}
}
}