forked from kemitix/git-next
feat: when no action to take, wait 10 seconds then restart
As a stop-gap until we have a working webhook server, this will poll the repo for updates to it's status. Closes kemitix/git-next#22
This commit is contained in:
parent
bb4d171174
commit
c9d52a5b7f
3 changed files with 10 additions and 5 deletions
|
@ -133,8 +133,7 @@ impl Handler<StartMonitoring> for RepoActor {
|
||||||
} else if self.webhook_id.is_none() {
|
} else if self.webhook_id.is_none() {
|
||||||
webhook::register(repo_details, addr, net)
|
webhook::register(repo_details, addr, net)
|
||||||
.into_actor(self)
|
.into_actor(self)
|
||||||
.wait(ctx)
|
.wait(ctx);
|
||||||
// TODO: (#18) watch for changes on dev
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ use gix::trace::warn;
|
||||||
use tracing::info;
|
use tracing::info;
|
||||||
|
|
||||||
use crate::server::{
|
use crate::server::{
|
||||||
|
actors::repo::ValidateRepo,
|
||||||
config::{self, ForgeType},
|
config::{self, ForgeType},
|
||||||
forge,
|
forge,
|
||||||
};
|
};
|
||||||
|
@ -28,12 +29,13 @@ pub async fn check_next(
|
||||||
}
|
}
|
||||||
Status::Pending => {
|
Status::Pending => {
|
||||||
info!("Checks are pending");
|
info!("Checks are pending");
|
||||||
} // TODO: (#22) wait and try again OR can webhook tell us when it's done, in
|
}
|
||||||
// which case we can do nothing here and wait for the webhook to trigger
|
|
||||||
Status::Fail => {
|
Status::Fail => {
|
||||||
warn!("Checks have failed");
|
warn!("Checks have failed");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
tokio::time::sleep(std::time::Duration::from_secs(10)).await;
|
||||||
|
addr.do_send(ValidateRepo);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
|
|
||||||
|
use crate::server::actors::repo::ValidateRepo;
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||||
pub struct WebhookId(String);
|
pub struct WebhookId(String);
|
||||||
impl WebhookId {
|
impl WebhookId {
|
||||||
|
@ -27,8 +29,10 @@ pub async fn unregister(
|
||||||
|
|
||||||
pub async fn register(
|
pub async fn register(
|
||||||
_repo_details: crate::server::config::RepoDetails,
|
_repo_details: crate::server::config::RepoDetails,
|
||||||
_addr: actix::prelude::Addr<super::RepoActor>,
|
addr: actix::prelude::Addr<super::RepoActor>,
|
||||||
_net: kxio::network::Network,
|
_net: kxio::network::Network,
|
||||||
) {
|
) {
|
||||||
// TODO: (#15) register webhook - on success send webhook id to RepoActor
|
// TODO: (#15) register webhook - on success send webhook id to RepoActor
|
||||||
|
tokio::time::sleep(std::time::Duration::from_secs(10)).await;
|
||||||
|
addr.do_send(ValidateRepo);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue