mirror of
https://github.com/exo-explore/exo.git
synced 2026-03-09 01:27:07 -04:00
## Motivation Batching will require us to send tasks concurrently and queue them up. Our current infrastructure cannot handle that all. This PR gets us closer to this by allowing multiple tasks to be sent in parallel and then queuing up tasks. ## Changes Change Plan logic Make runner main into a class Add a "BatchGenerator" to which tasks can be submitted (although tasks are handled sequentially) and sent back through an MpSender. Refactor runner to accept tasks during generation Keep the generator threading Separate the runner into several files for better readability ## Test Plan ### Manual Testing Tested manually, needs a lot more automated testing. Cancellation still works on a single device. Needs checking on multiple devices. ### Automated Testing --------- Co-authored-by: Evan Quiney <evanev7@gmail.com>