Beacon chain tasks use task executor

This commit is contained in:
pawan
2020-05-20 12:15:42 +05:30
parent 1f9e1c4808
commit 4ad39716be
19 changed files with 124 additions and 172 deletions

View File

@@ -283,13 +283,8 @@ impl Service {
/// - Err(_) if there is an error.
///
/// Emits logs for debugging and errors.
pub fn auto_update(
service: Self,
handle: &tokio::runtime::Handle,
exit: tokio::sync::oneshot::Receiver<()>,
) {
pub fn auto_update(service: Self, handle: environment::TaskExecutor) {
let update_interval = Duration::from_millis(service.config().auto_update_interval_millis);
let log = service.log.clone();
let mut interval = interval_at(Instant::now(), update_interval);
@@ -301,14 +296,7 @@ impl Service {
}
};
let exit_future = async move {
let _ = exit.await.ok();
info!(log, "Eth1 service shutdown");
};
let future = futures::future::select(Box::pin(update_future), Box::pin(exit_future));
handle.spawn(future);
handle.spawn(update_future, "eth1_service");
}
async fn do_update(service: Self, update_interval: Duration) -> Result<(), ()> {