func (q *QueueDownloader) run() {
	ticker := time.NewTicker(q.Interval)
	for {
		select {
		case <-ticker.C:
			q.downloadQueues()
		}
	}
}
run runs the QueueDownloader periodically forever. It should never return.
package client
import (
	"log"
	"time"
	"github.com/richo/roving/types"
)
type QueueDownloader struct {
	Interval    time.Duration
	Server      *RovingServerClient
	fileManager *types.FleetFileManager
}