Closed
Description
Image processing. Consider using channels to build a concurrent architecture.
Learning objectives:
- What is batch processing and how does it differ from building servers?
- How do we build resilience into batch processing software?
- How do we use Go to use run existing software to complete tasks?
- What is cloud storage technology and how do we read from it & upload data to it?
- How do we deploy batch processing tasks in the cloud?
Amazon Lambda might give us a better model for this, but we'll build up to that.
The task:
- Run:
go run ./cmd/process --file images.csv
- Run within Docker
- Download each image in the file, make it monochrome, and upload it to S3
- Log what is done
- Don't process the same image twice
- Support reading from S3:
go run ./cmd/process --file-remote [s3 url]
Libraries to use:
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done