diff options
author | Nick White <git@njw.name> | 2019-08-20 10:17:54 +0100 |
---|---|---|
committer | Nick White <git@njw.name> | 2019-08-20 10:17:54 +0100 |
commit | 075ea41484e745940021406e124a34a72b396e8e (patch) | |
tree | 42a130ffb9a2e678d6278ebd3de5fef617f7c32f /pipelinepreprocess/main.go | |
parent | fa5868074ba517c07849ca4bc0b51199d120eb61 (diff) |
Export qmsg type
Diffstat (limited to 'pipelinepreprocess/main.go')
-rw-r--r-- | pipelinepreprocess/main.go | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/pipelinepreprocess/main.go b/pipelinepreprocess/main.go index 1322652..407591f 100644 --- a/pipelinepreprocess/main.go +++ b/pipelinepreprocess/main.go @@ -42,9 +42,6 @@ const PreprocPattern = `_bin[0-9].[0-9].png` // so use them for multiple books indefinitely. would require finding a way to // signal when the queues need to be updated (e.g. when a book is finished) // -// MAYBE use a struct holding config info ala downloader in -// https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/sdk-utilities.html -// // TODO: consider having the download etc functions return a channel like a generator, like in rob pike's talk type Clouder interface { @@ -52,7 +49,7 @@ type Clouder interface { ListObjects(bucket string, prefix string, names chan string) error Download(bucket string, key string, fn string) error Upload(bucket string, key string, path string) error - CheckQueue(url string) (qmsg, error) + CheckQueue(url string) (Qmsg, error) AddToQueue(url string, msg string) error DelFromQueue(url string, handle string) error QueueHeartbeat(t *time.Ticker, msgHandle string, qurl string) error @@ -63,13 +60,13 @@ type Pipeliner interface { ListInProgress(bookname string, names chan string) error DownloadFromInProgress(key string, fn string) error UploadToInProgress(key string, path string) error - CheckPreQueue() (qmsg, error) + CheckPreQueue() (Qmsg, error) AddToOCRQueue(msg string) error DelFromPreQueue(handle string) error PreQueueHeartbeat(t *time.Ticker, msgHandle string) error } -type qmsg struct { +type Qmsg struct { Handle, Body string } @@ -127,7 +124,7 @@ func (a *awsConn) Init() error { return nil } -func (a *awsConn) CheckQueue(url string) (qmsg, error) { +func (a *awsConn) CheckQueue(url string) (Qmsg, error) { msgResult, err := a.sqssvc.ReceiveMessage(&sqs.ReceiveMessageInput{ MaxNumberOfMessages: aws.Int64(1), VisibilityTimeout: aws.Int64(HeartbeatTime * 2), @@ -135,19 +132,19 @@ func (a *awsConn) CheckQueue(url string) (qmsg, error) { QueueUrl: &url, }) if err != nil { - return qmsg{}, err + return Qmsg{}, err } if len(msgResult.Messages) > 0 { - msg := qmsg{ Handle: *msgResult.Messages[0].ReceiptHandle, Body: *msgResult.Messages[0].Body } + msg := Qmsg{ Handle: *msgResult.Messages[0].ReceiptHandle, Body: *msgResult.Messages[0].Body } a.logger.Println("Message received:", msg.Body) return msg, nil } else { - return qmsg{}, nil + return Qmsg{}, nil } } -func (a *awsConn) CheckPreQueue() (qmsg, error) { +func (a *awsConn) CheckPreQueue() (Qmsg, error) { a.logger.Println("Checking preprocessing queue for new messages") return a.CheckQueue(a.prequrl) } |