Using a single select loop for background tasks removes a lot of duplicated boilerplate code and helps to simplify shutdown logic. This does reduce the amount of things which can run in parallel, but that isn't of concern for vspd. The web server still runs in its own goroutine so its responsiveness won't be affected.