Run until `cancel` fires; one independent loop per job.
(self, sink: Arc<dyn ScheduleSink>, cancel: CancellationToken)
| 82 | |
| 83 | /// Run until `cancel` fires; one independent loop per job. |
| 84 | pub async fn run(self, sink: Arc<dyn ScheduleSink>, cancel: CancellationToken) { |
| 85 | let mut handles = Vec::new(); |
| 86 | for job in self.jobs { |
| 87 | let sink = Arc::clone(&sink); |
| 88 | let cancel = cancel.clone(); |
| 89 | handles.push(tokio::spawn(run_job(job, sink, cancel))); |
| 90 | } |
| 91 | for h in handles { |
| 92 | let _ = h.await; |
| 93 | } |
| 94 | } |
| 95 | } |
| 96 | |
| 97 | async fn run_job(job: ScheduledJob, sink: Arc<dyn ScheduleSink>, cancel: CancellationToken) { |