Satisfying tokio::spawn 'static lifetime requirement

Thank you for such a fast response!

  1. I didn't realize that you could have multiple trait bounds like that. I understand changing I: Iterator<..> to I: IntoIterator<..>. If the input I: IntoIterator<..> is already bound by Send, why is it necessary to additionally bind I::IntoIter to Send?

  2. In my implementation, the Runner has all sorts of configuration for the http client, throttling (because async was borking my company's dev servers), etc.. and the processor implementation runs a long chain of requests. I was aiming for each processor request to run in it's own Tokio task. Does swapping the spawn() and for_each() allow this? Are there any downsides to running all the processes in a single task?