func cmd_jobs(conn *scrapinghub.Connection, args []string, flags *PFlags) { if len(args) < 1 { log.Fatalf("Missing argument: <project_id>\n") } project_id := args[0] filters := equality_list_to_map(args[1:]) count := flags.Count offset := flags.Offset if flags.AsJsonLines { ls := scrapinghub.LinesStream{Conn: conn, Count: count, Offset: offset} ch_jobs, errch := ls.JobsAsJsonLines(project_id, filters) for line := range ch_jobs { fmt.Println(line) } for err := range errch { log.Fatalf("jobs error: %s\n", err) } } else { var jobs scrapinghub.Jobs jobs_list, err := jobs.List(conn, project_id, count, filters) if err != nil { log.Fatalf("jobs error: %s", err) } outfmt := "| %10s | %25s | %12s | %10s | %10s | %10s | %20s |\n" print_out(flags, outfmt, "id", "spider", "state", "items", "errors", "log lines", "started_time") print_out(flags, dashes(106)) for _, j := range jobs_list.Jobs { print_out(flags, "| %10s | %25s | %12s | %10d | %10d | %10d | %20s |\n", j.Id, j.Spider, j.State, j.ItemsScraped, j.ErrorsCount, j.Logs, j.StartedTime) } } }