// Init logger and flags. func initEnv() error { var err error logger, err = seelog.LoggerFromWriterWithMinLevel(os.Stdout, seelog.InfoLvl) if err != nil { return err } if err := flags(); err != nil { return err } return nil }
// SetLogWriter uses a specified io.Writer to output library log. // Use this func if you are not using Seelog logging system in your app. func SetLogWriter(writer io.Writer) error { if writer == nil { return errors.New("Nil writer") } newLogger, err := seelog.LoggerFromWriterWithMinLevel(writer, seelog.TraceLvl) if err != nil { return err } UseLogger(newLogger) return nil }
// Init initializes the goworker process. This will be // called by the Work function, but may be used by programs // that wish to access goworker functions and configuration // without actually processing jobs. func Init(set *PoolPrefs) error { var err error logger, err = seelog.LoggerFromWriterWithMinLevel(os.Stdout, seelog.InfoLvl) if err != nil { return err } setDefaults(set) ctx = context.Background() pool = newRedisPool(set.Redis, set.MaxConns, set.MaxConns, time.Minute) return nil }
// Init initializes the goworker process. This will be // called by the Work function, but may be used by programs // that wish to access goworker functions and configuration // without actually processing jobs. func Init() error { var err error logger, err = seelog.LoggerFromWriterWithMinLevel(os.Stdout, seelog.InfoLvl) if err != nil { return err } if err := flags(); err != nil { return err } pool = newRedisPool(uri, connections, connections+redisConnectionBuffer, time.Minute) return nil }
// Init initializes the goworker process. This will be // called by the Work function, but may be used by programs // that wish to access goworker functions and configuration // without actually processing jobs. func Init() error { var err error logger, err = seelog.LoggerFromWriterWithMinLevel(os.Stdout, seelog.InfoLvl) if err != nil { return err } if err := flags(); err != nil { return err } ctx = context.Background() pool = newRedisPool(uri, connections, connections, time.Minute) return nil }
// Init initializes the goworker process. This will be // called by the Work function, but may be used by programs // that wish to access goworker functions and configuration // without actually processing jobs. func Init() error { initMutex.Lock() defer initMutex.Unlock() if !initialized { var err error logger, err = seelog.LoggerFromWriterWithMinLevel(os.Stdout, seelog.InfoLvl) if err != nil { return err } if err := flags(); err != nil { return err } ctx = context.Background() pool = newRedisPool(workerSettings.Uri, workerSettings.Connections, workerSettings.Connections, time.Minute) initialized = true } return nil }
// Call this function to run goworker. Check for errors in // the return value. Work will take over the Go executable // and will run until a QUIT, INT, or TERM signal is // received, or until the queues are empty if the // -exit-on-complete flag is set. func Work() error { var err error logger, err = seelog.LoggerFromWriterWithMinLevel(os.Stdout, seelog.InfoLvl) if err != nil { return err } if err := flags(); err != nil { return err } quit := signals() pool := newRedisPool(uri, connections, connections, time.Minute) defer pool.Close() poller, err := newPoller(queues, isStrict) if err != nil { return err } jobs := poller.poll(pool, time.Duration(interval), quit) var monitor sync.WaitGroup for id := 0; id < concurrency; id++ { worker, err := newWorker(strconv.Itoa(id), queues) if err != nil { return err } worker.work(pool, jobs, &monitor) } monitor.Wait() return nil }
func init() { // Enable glob logging during tests glob.Logger, _ = log.LoggerFromWriterWithMinLevel(os.Stderr, log.TraceLvl) }