async fn run_worker(
    ex: &Executor,
    disk_state: &Rc<RwLock<DiskState>>,
    control_tube: &Option<AsyncTube>,
    worker_rx: UnboundedReceiver<WorkerCmd>,
    kill_evt: Event
) -> Result<()>