func Convert(j *job.Job) { go safely.Do(logger, j, FriendlyMessage, func() { writeHTML(j) cmd := exec.Command(kindlegen, []string{j.HTMLFilename()}...) cmd.Dir = j.Root() out, err := cmd.CombinedOutput() if !util.FileExists(j.MobiFilePath()) { logger.Panicf("Failed running kindlegen: %s {output=%s}", err.Error(), string(out)) } j.Progress("Conversion complete...") postmark.Mail(j) }) }