func (this *Sched) Run(d *dag.DAG) error { if err := this.checkDAG(d); err != nil { log.Fatal(err) return err } d.Builtins.SetBizdate(config.Bizdate) queue := this.genRunQueue(d) for len(queue) != 0 { if err := this.runQueue(queue, d); err != nil { return err } for _, job := range queue { this.updateFails(job) this.updateDependences(job, d) } queue = this.genRunQueue(d) } this.Summary() if len(this.tracker.Fails) == 0 { log.Info("All jobs done") return nil } else { log.Errorf("some job failed") return fmt.Errorf("some job failed") } }
func TestAll(t *testing.T) { l := log.New(os.Stdout, "test_logger ", log.LOG_LEVEL_ALL) l.Debug("debug") l.Debugf("%s", "debug") l.Trace("trace") l.Tracef("%s", "trace") l.Info("info") l.Infof("%s", "info") l.Warn("warn") l.Warnf("%s", "warn") l.Error("error") l.Errorf("%s", "error") l.Fatal("fatal") l.Fatalf("%s", "fatal") log.Debug("debug") log.Debugf("%s", "debug") log.Trace("trace") log.Tracef("%s", "trace") log.Info("info") log.Infof("%s", "info") log.Warn("warn") log.Warnf("%s", "warn") log.Error("error") log.Errorf("%s", "error") log.Fatal("fatal") log.Fatalf("%s", "fatal") }
func (this *Sched) Summary() { for _, line := range strings.Split(strings.Trim(this.tracker.String(), "\n"), "\n") { if len(line) == 0 { line = " " } log.Info(line) } }