module scheduled_jobs; import scheduled; import std.datetime; import slf4d; import analytics; void startScheduledJobs() { JobSchedule analyticsSchedule = new FixedIntervalSchedule( hours(1), Clock.currTime(UTC()) + seconds(5) ); JobScheduler jobScheduler = new TaskPoolScheduler(); jobScheduler.addJob(() { info("Computing account balance time series analytics for all users..."); doForAllUserProfiles(&computeAccountBalanceTimeSeries); doForAllUserProfiles(&computeCategorySpendTimeSeries); info("Done computing analytics!"); }, analyticsSchedule); jobScheduler.start(); }