func (j *Job) Bytes() []byte {
	buffer := &bytes.Buffer{}
	encoder := gob.NewEncoder(buffer)
	encoder.Encode(j)
	return buffer.Bytes()
}
Bytes returns a gob encoded byte array representation of *j
package goalpost
import (
	"bytes"
	"encoding/gob"
	"fmt"
)
type JobStatus int
const (
	Ack JobStatus = iota + 1
	Uack
	Nack
	Failed
)
type Job struct {
	Status JobStatus
	ID uint64
	Data []byte
	RetryCount int
	Message string
}
func DecodeJob(b []byte) *Job {
	buffer := bytes.NewReader(b)
	decoder := gob.NewDecoder(buffer)
	job := Job{}
	decoder.Decode(&job)
	return &job
}