diff options
author | Nick White <git@njw.name> | 2020-03-24 16:52:22 +0000 |
---|---|---|
committer | Nick White <git@njw.name> | 2020-03-24 16:52:22 +0000 |
commit | 1d2ef42d31af7904fd46520fa4c6a56dbb8dc4ec (patch) | |
tree | 6961c7ebdd6afa02391f2fe288e93a9999af867f | |
parent | 077db9facfc862feee6e059db9ac74f711d08021 (diff) |
[bookpipeline] Add experimental (dummy) shutdown part
-rw-r--r-- | cmd/bookpipeline/main.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/cmd/bookpipeline/main.go b/cmd/bookpipeline/main.go index f4b1ad4..032f614 100644 --- a/cmd/bookpipeline/main.go +++ b/cmd/bookpipeline/main.go @@ -42,6 +42,7 @@ one is found this general process is followed: ` const PauseBetweenChecks = 3 * time.Minute +const TimeBeforeShutdown = 5 * time.Minute const HeartbeatTime = 60 // null writer to enable non-verbose logging to be discarded @@ -671,6 +672,7 @@ func main() { var checkOCRQueue <-chan time.Time var checkOCRPageQueue <-chan time.Time var checkAnalyseQueue <-chan time.Time + var shutdownIfQuiet <-chan time.Time if !*nopreproc { checkPreQueue = time.After(0) } @@ -705,6 +707,7 @@ func main() { if err != nil { log.Println("Error during preprocess", err) } + shutdownIfQuiet = time.After(TimeBeforeShutdown) case <-checkWipeQueue: msg, err := conn.CheckQueue(conn.WipeQueueId(), HeartbeatTime*2) checkWipeQueue = time.After(PauseBetweenChecks) @@ -721,6 +724,7 @@ func main() { if err != nil { log.Println("Error during wipe", err) } + shutdownIfQuiet = time.After(TimeBeforeShutdown) case <-checkOCRPageQueue: msg, err := conn.CheckQueue(conn.OCRPageQueueId(), HeartbeatTime*2) checkOCRPageQueue = time.After(PauseBetweenChecks) @@ -739,6 +743,7 @@ func main() { if err != nil { log.Println("Error during OCR Page process", err) } + shutdownIfQuiet = time.After(TimeBeforeShutdown) case <-checkOCRQueue: msg, err := conn.CheckQueue(conn.OCRQueueId(), HeartbeatTime*2) checkOCRQueue = time.After(PauseBetweenChecks) @@ -755,6 +760,7 @@ func main() { if err != nil { log.Println("Error during OCR process", err) } + shutdownIfQuiet = time.After(TimeBeforeShutdown) case <-checkAnalyseQueue: msg, err := conn.CheckQueue(conn.AnalyseQueueId(), HeartbeatTime*2) checkAnalyseQueue = time.After(PauseBetweenChecks) @@ -771,6 +777,9 @@ func main() { if err != nil { log.Println("Error during analysis", err) } + shutdownIfQuiet = time.After(TimeBeforeShutdown) + case <-shutdownIfQuiet: + log.Println("If I was sufficiently brave, now would be the time I would shut down") } } } |