pub async fn run(job: Job, rx: Receiver<Message>, cancellation_tx: Sender<()>)
Expand description
Take ownership of a job and the jobs receiver and drive the job to completion by getting each node and running them as they can be run.
Each node is responsible for notifying the job that it can move forward The next node function will need to take a pointer to the current node that has finished So it knows where to resume the job from