show waterlevel for the next days #466
@ -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);
|
||||||
|
|
||||||
|
@ -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();
|
||||||
|
|
||||||
waterlevel::update(&db).await.unwrap();
|
|
||||||
|
|
||||||
tokio::task::spawn(async {
|
tokio::task::spawn(async {
|
||||||
|
waterlevel::update(&db).await.unwrap();
|
||||||
|
|
||||||
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();
|
||||||
|
Loading…
Reference in New Issue
Block a user