func (s StatusResponse) printCurrent(out io.Writer) {
	fmt.Fprintf(out, "Queued jobs: (%d tracked)\n\n", len(s.Current))
	if len(s.Current) == 0 {
		return
	}
	sort.Sort(sort.Reverse(s.Current))
	table := tablewriter.NewWriter(out)
	table.SetHeader([]string{
		"Status",
		"Queue Time",
		"Run Time",
		"Description",
	})
	table.SetBorder(false)
	for i, j := range s.Current {
		if i >= 10 {
			break
		}
		if j.Status == jobs.Running {
			table.Append([]string{
				"running",
				j.QueuedTime().String(),
				j.RunTime().String(),
				j.Describe(),
			})
		} else {
			table.Append([]string{
				"queued",
				j.QueuedSince().String(),
				"",
				j.Describe(),
			})
		}
	}
	table.Render()
}
Print out all the queued jobs
package v1
import (
	"bytes"
	"encoding/json"
	"fmt"
	"github.com/getsolus/ferryd/jobs"
	"github.com/olekukonko/tablewriter"
	"github.com/valyala/fasthttp"
	"io"
	"net/http"
	"sort"
	"time"
)
type StatusResponse struct {
	GenericResponse
	TimeStarted time.Time `json:"time_started"`
	Version string `json:"version"`
	Current jobs.List `json:"current"`
	Failed jobs.List `json:"failed"`
	Completed jobs.List `json:"completed"`
}
func (s StatusResponse) Uptime() time.Duration {
	return time.Now().UTC().Sub(s.TimeStarted)
}
func (s StatusResponse) printFailed(out io.Writer) {
	fmt.Fprintf(out, "Failed jobs: (%d tracked)\n\n", len(s.Failed))
	if len(s.Failed) == 0 {
		return
	}
	sort.Sort(sort.Reverse(s.Failed))
	table := tablewriter.NewWriter(out)
	table.SetHeader([]string{
		"Status",
		"Completed",
		"Duration",
		"Description",
		"Error",
	})
	table.SetBorder(false)
	for i, j := range s.Failed {
		if i >= 10 {
			break
		}
		table.Append([]string{
			"failed",
			j.Finished.Time.Format(time.RFC3339),
			j.RunTime().String(),
			j.Describe(),
			j.Message.String,
		})
	}
	table.Render()
}
func (s StatusResponse) printCompleted(out io.Writer) {
	fmt.Fprintf(out, "Completed jobs: (%d tracked)\n\n", len(s.Completed))
	if len(s.Completed) == 0 {
		return
	}
	sort.Sort(sort.Reverse(s.Completed))
	table := tablewriter.NewWriter(out)
	table.SetHeader([]string{
		"Status",
		"Completed",
		"Run Time",
		"Duration",
		"Description",
		"Message",
	})
	table.SetBorder(false)
	for i, j := range s.Completed {
		if i >= 9 {
			break
		}
		table.Append([]string{
			"completed",
			j.Finished.Time.Format(time.RFC3339),
			j.RunTime().String(),
			j.TotalTime().String(),
			j.Describe(),
			j.Message.String,
		})
	}
	table.Render()
}