Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop simple batch-processing project #26

Closed
tgvashworth opened this issue Sep 19, 2022 · 0 comments · May be fixed by #48
Closed

Develop simple batch-processing project #26

tgvashworth opened this issue Sep 19, 2022 · 0 comments · May be fixed by #48
Assignees
Labels
enhancement New feature or request

Comments

@tgvashworth
Copy link
Collaborator

tgvashworth commented Sep 19, 2022

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:

@tgvashworth tgvashworth self-assigned this Sep 19, 2022
@tgvashworth tgvashworth added this to the Sprint 1 Complete milestone Sep 19, 2022
@tgvashworth tgvashworth added the enhancement New feature or request label Sep 20, 2022
@tgvashworth tgvashworth moved this from To Do to In Progress in Immersive Go Course Sep 29, 2022
@tgvashworth tgvashworth moved this from In Progress to Done in Immersive Go Course Oct 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
1 participant