Advertisement
Guest User

Untitled

a guest
Jul 20th, 2015
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. // RenderPages renders pages each corresponding to a markdown file
  2. func (s *Site) RenderPages() error {
  3.  
  4. for _, page := range s.Pages {
  5. jww.FEEDBACK.Println("beginning of renderpages ", page.FullFilePath())
  6. }
  7.  
  8. results := make(chan error)
  9. pages := make(chan *Page)
  10.  
  11. procs := getGoMaxProcs()
  12.  
  13. wg := &sync.WaitGroup{}
  14.  
  15. for i := 0; i < procs*1; i++ {
  16. wg.Add(1)
  17. go pageRenderer(s, pages, results, wg)
  18. }
  19.  
  20. errs := make(chan error)
  21.  
  22. go errorCollator(results, errs)
  23.  
  24. for _, page := range s.Pages {
  25. jww.FEEDBACK.Println("sending ", page.FullFilePath())
  26.  
  27. pages <- page
  28. }
  29.  
  30. close(pages)
  31.  
  32. wg.Wait()
  33.  
  34. close(results)
  35.  
  36. err := <-errs
  37. if err != nil {
  38. return fmt.Errorf("Error(s) rendering pages: %s", err)
  39. }
  40. return nil
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement