show waterlevel for the next days #466

Merged
philipp merged 39 commits from show-waterlevel into main 2024-05-16 21:32:24 +02:00
2 changed files with 6 additions and 5 deletions
Showing only changes of commit 6d4bc81720 - Show all commits

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();