INNER CODE UNIT · Rust

spawn_worker

HemantKArya/BloomeeTunes · rust/src/api/downloader/mod.rs:356

    fn spawn_worker(&self, task_id: String) {
        let Some(task) = self.get_task(&task_id) else { return };

        {
            let Ok(mut g) = task.lock() else { return };
            if g.running || matches!(g.persisted.state, DownloadTaskState::CompletedPendingAck) {
                return;
            }
            g.running = true;
            g.pause_requested.store(false, Ordering::Release);
            g.cancel_requested.store(false, Ordering::Release);
            if matches!(g.persisted.state, DownloadTaskState::Failed | DownloadTaskState::Paused) {
                g.persisted.retry_attempt = 0;
            }
        }

        let manager = self.clone();
        self.runtime_handle.spawn(async move {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…