A tiny library to make it easier to run multiple top-level goroutines in the same application:
- runner provides an abstraction that handles shutdown signal and wait group (so that goroutines don't need to care about it)
- job represents logic that is run inside top-level goroutine. There are 2 jobs that I use most often and therefore provided by default:
- recurring job
- blocking job
- when a
work
implementsCleanUp
interface from job, both recurring and blocking jobs above will execute clean up logic when they receive shutdown signal