func Shred(l logger.Logger, conf *config.Config, poll bool) { store := connectToStore(l, conf) if poll { l.Info("Starting Shredder Daemon...") adapter := connectToStoreAdapter(l, conf) err := Daemonize("Shredder", func() error { return shred(l, store) }, conf.ShredderPollingInterval(), conf.ShredderTimeout(), l, adapter) if err != nil { l.Error("Shredder Errored", err) } l.Info("Shredder Daemon is Down") os.Exit(1) } else { err := shred(l, store) if err != nil { os.Exit(1) } else { os.Exit(0) } } }