Exemple #1
0
func (ts *dttServer) GetSjobJobs(sjid int) ([]*dttrpc.Job, error) {

	jidList, err := ts.GetJobList(sjid)

	if err != nil {
		return nil, err
	}

	transcripts := make([]*dttrpc.Job, len(jidList), len(jidList))

	for i, v := range jidList {
		loc, imgerr := ts.Lstore.Get(LOC_PREFIX + makeImgJobKey(sjid, v))
		if imgerr != nil {
			return nil, imgerr
		}

		trans, transerr := ts.Lstore.Get(TRANS_PREFIX + makeImgJobKey(sjid, v))
		if transerr != nil && transerr.Error() != "KeyNotFound" {
			return nil, transerr
		}

		job := new(dttrpc.Job)
		job.Sid = sjid
		job.Jid = v
		job.Loc = loc
		job.Transcript = trans

		transcripts[i] = job
	}

	return transcripts, nil
}