@@ -242,7 +242,8 @@ async fn serve_req(
242242}
243243
244244async fn run_server ( addr : SocketAddr ) -> anyhow:: Result < ( ) > {
245- let pool = db:: ClientPool :: new ( ) ;
245+ let db_url = std:: env:: var ( "DATABASE_URL" ) . expect ( "needs DATABASE_URL" ) ;
246+ let pool = db:: ClientPool :: new ( db_url. clone ( ) ) ;
246247 db:: run_migrations ( & mut * pool. get ( ) . await )
247248 . await
248249 . context ( "database migrations" ) ?;
@@ -271,7 +272,7 @@ async fn run_server(addr: SocketAddr) -> anyhow::Result<()> {
271272
272273 // Run all jobs that have a schedule (recurring jobs)
273274 if !is_scheduled_jobs_disabled ( ) {
274- spawn_job_scheduler ( ) ;
275+ spawn_job_scheduler ( db_url ) ;
275276 spawn_job_runner ( ctx. clone ( ) ) ;
276277 }
277278
@@ -361,11 +362,12 @@ async fn spawn_job_oneoffs(ctx: Arc<Context>) {
361362/// The scheduler wakes up every `JOB_SCHEDULING_CADENCE_IN_SECS` seconds to
362363/// check if there are any jobs ready to run. Jobs get inserted into the the
363364/// database which acts as a queue.
364- fn spawn_job_scheduler ( ) {
365+ fn spawn_job_scheduler ( db_url : String ) {
365366 task:: spawn ( async move {
366367 loop {
368+ let db_url = db_url. clone ( ) ;
367369 let res = task:: spawn ( async move {
368- let pool = db:: ClientPool :: new ( ) ;
370+ let pool = db:: ClientPool :: new ( db_url ) ;
369371 let mut interval =
370372 time:: interval ( time:: Duration :: from_secs ( JOB_SCHEDULING_CADENCE_IN_SECS ) ) ;
371373
0 commit comments