Oddbean new post about | logout
 @17044452 I can't tell you the right way but I can say I don't think it's what you listed.

My thoughts would be a channel for input (say the url) a waitgroup of 10, a single go routine that take from the input channel, executes against the url and outout to the output results and errors.

I'd probably limit the input chan to 10 items to control the rate, along with the wg of 10 it should mean a max of 10 things running 
It's probably something like this https://gobyexample.com/worker-pools

I'm a golang newbie and still wrapping my head around pooling myself. 
 @a0978c0c Thank you for your input. 

That seems to be doing mostly the same thing with channels, expect there is no error handling. :/

I am just surprised how something I would think is a pretty common pattern for doing multiple work at the same time seems so complicated in Golang.