Runner runs anything with a Run()
method. Perfect for API servers with background tasks, health check endpoints, or anything else that does long-lived, blocking work.
package main
import "github.com/kochman/runner"
func main() {
r := runner.New()
r.Add(myRunnable{})
r.Add(anotherRunnable{})
r.Run()
}