async fn run(self: Box<Self>, mut stop_receiver: StopReceiver) -> anyhow::Result<()> {
        tracing::info!("Starting the task {}", self.id());

        // We have to respect the stop receiver and should exit as soon as we receive
        // a stop request.
        tokio::select! {
            _ = self.run_inner() => {},
            _ = stop_receiver.0.changed() => {},
        }

        Ok(())
    }
This method will be invoked by the framework when the task is started.
core/lib/node_framework/examples/showcase.rs