21 lines
912 B
TypeScript
21 lines
912 B
TypeScript
import { updateLastPosts } from '$lib/bluesky';
|
|
import { lastFmUpdateNowPlaying } from '$lib/lastfm';
|
|
import { steamUpdateNowPlaying } from '$lib/steam'
|
|
import { cancelJob, scheduleJob, scheduledJobs } from 'node-schedule'
|
|
|
|
const UPDATE_LAST_JOB_NAME = "update steam game, lastfm track, bsky posts"
|
|
|
|
if (UPDATE_LAST_JOB_NAME in scheduledJobs) {
|
|
console.log(`${UPDATE_LAST_JOB_NAME} is already running, cancelling so we can start a new one`)
|
|
cancelJob(UPDATE_LAST_JOB_NAME)
|
|
}
|
|
|
|
console.log(`starting ${UPDATE_LAST_JOB_NAME} job...`);
|
|
scheduleJob(UPDATE_LAST_JOB_NAME, "*/1 * * * *", async () => {
|
|
console.log(`running ${UPDATE_LAST_JOB_NAME} job...`)
|
|
try {
|
|
await Promise.all([steamUpdateNowPlaying(), lastFmUpdateNowPlaying(), updateLastPosts()])
|
|
} catch (err) {
|
|
console.log(`error while running ${UPDATE_LAST_JOB_NAME} job: ${err}`)
|
|
}
|
|
}).invoke() // invoke once immediately
|