Merge pull request 'remove unnecessary async' (#469) from show-waterlevel into staging
Some checks failed
CI/CD Pipeline / deploy-staging (push) Blocked by required conditions
CI/CD Pipeline / deploy-main (push) Blocked by required conditions
CI/CD Pipeline / test (push) Has been cancelled

Reviewed-on: #469
This commit is contained in:
philipp 2024-04-30 15:48:45 +02:00
commit 6d4bc81720
2 changed files with 6 additions and 5 deletions

View File

@ -27,7 +27,7 @@ async fn rocket() -> _ {
.await .await
.unwrap(); .unwrap();
scheduled::schedule(&db).await; scheduled::schedule(&db);
let rocket = rocket::build().manage(db); let rocket = rocket::build().manage(db);

View File

@ -6,18 +6,19 @@ use job_scheduler_ng::{Job, JobScheduler};
use rocket::tokio::{self, task}; use rocket::tokio::{self, task};
use sqlx::SqlitePool; use sqlx::SqlitePool;
pub async fn schedule(db: &SqlitePool) { pub fn schedule(db: &SqlitePool) {
let db = db.clone(); let db = db.clone();
tokio::task::spawn(async {
waterlevel::update(&db).await.unwrap(); waterlevel::update(&db).await.unwrap();
tokio::task::spawn(async {
let mut sched = JobScheduler::new(); let mut sched = JobScheduler::new();
// Every hour // Every hour
sched.add(Job::new("0 0 * * * * *".parse().unwrap(), move || { sched.add(Job::new("0 0 * * * * *".parse().unwrap(), move || {
let db_clone = db.clone(); let db_clone = db.clone();
// Use block_in_place to run async code in the synchronous function // Use block_in_place to run async code in the synchronous function; TODO: Make it
// nicer one's rust (stable) support async closures
task::block_in_place(|| { task::block_in_place(|| {
tokio::runtime::Handle::current().block_on(async { tokio::runtime::Handle::current().block_on(async {
waterlevel::update(&db_clone).await.unwrap(); waterlevel::update(&db_clone).await.unwrap();