https://github.com/canhlinh/sqsworker
Enqueues and processes background backed by AWS SQS queue
https://github.com/canhlinh/sqsworker
golang sqs-queue workers
Last synced: about 1 month ago
JSON representation
Enqueues and processes background backed by AWS SQS queue
- Host: GitHub
- URL: https://github.com/canhlinh/sqsworker
- Owner: canhlinh
- License: mit
- Created: 2018-11-01T04:03:24.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-02-23T23:49:50.000Z (about 3 years ago)
- Last Synced: 2024-06-20T13:46:49.410Z (over 1 year ago)
- Topics: golang, sqs-queue, workers
- Language: Go
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README
SqsWorker lets you enqueue and processes background backed by AWS SQS queue
==============================
[](https://circleci.com/gh/canhlinh/sqsworker)
[](http://godoc.org/github.com/canhlinh/sqsworker)
**Features:**
- Consumes SQS messages as jobs by multi workers
- Enqueue jobs to as send messages to SQS queue
**Example:**
```
package main
import (
"fmt"
"time"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/sqs"
"github.com/pborman/uuid"
"github.com/canhlinh/sqsworker"
)
func main() {
testQueue := "testqueue.fifo"
session := session.Must(session.NewSession())
sqsClient := sqs.New(session, aws.NewConfig().WithRegion("us-east-1"))
sqsWorkerPool := sqsworker.New(testQueue, 2, sqsClient)
sqsWorkerPool.RegisterJobHandler("doingsomething", jobHandler)
sqsWorkerPool.Start()
sqsWorkerPool.Enqueue("doingsomething", map[string]interface{}{"paramter_a": uuid.New()})
time.Sleep(3*time.Second)
sqsWorkerPool.Stop()
}
func jobHandler(args map[string]interface{}) error {
fmt.Println("Run job", args)
return nil
}
```