func loadAndConvert(data data.Data, programIds chan string, done chan data.Program) { for { select { case programId := <-programIds: log.Printf("%v", programId) program, err := data.GetProgram(programId) if err != nil { log.Fatal(err) return } conv, err := convert.Convert(program) if err != nil { log.Fatal(err) } out, err := json.Marshal(conv) if err != nil { log.Fatal(err) } persistToStorage(programId, out) persistToStorage(conv.ProgramCode, out) done <- program } } }