data endpoint for entity 90008 (aka. a website)

refactor: separate update tasks into two for updating at different intervals

ptr.pet 31ad0287 ff59fcc4

verified
Changed files
+25 -14
src
+25 -14
src/hooks.server.ts
···
import { error } from '@sveltejs/kit';
import { _fetchEntries } from './routes/(site)/guestbook/+page.server';
-
const update = async () => {
try {
-
await Promise.all([
-
steamUpdateNowPlaying(),
-
updateNowPlayingTrack(),
-
updateLastPosts(),
-
_fetchEntries(),
-
updateCommits(),
-
sendAllMetrics()
-
]);
} catch (err) {
console.log(`error while updating: ${err}`);
}
};
-
await update();
const scheduler = new ToadScheduler();
-
const task = new AsyncTask('update task', update, (err) =>
-
console.log(`error while updating: ${err}`)
);
-
const job = new SimpleIntervalJob({ seconds: 5 }, task);
-
scheduler.addSimpleIntervalJob(job);
export const handle = async ({ event, resolve }) => {
notifyDarkVisitors(event.url, event.request); // no await so it doesnt block
···
import { error } from '@sveltejs/kit';
import { _fetchEntries } from './routes/(site)/guestbook/+page.server';
+
const updateNowPlaying = async () => {
try {
+
await Promise.all([steamUpdateNowPlaying(), updateNowPlayingTrack()]);
+
} catch (err) {
+
console.log(`error while updating: ${err}`);
+
}
+
};
+
const refreshContent = async () => {
+
try {
+
await Promise.all([updateLastPosts(), _fetchEntries(), updateCommits(), sendAllMetrics()]);
} catch (err) {
console.log(`error while updating: ${err}`);
}
};
+
await Promise.all([updateNowPlaying(), refreshContent()]);
const scheduler = new ToadScheduler();
+
scheduler.addSimpleIntervalJob(
+
new SimpleIntervalJob(
+
{ seconds: 5 },
+
new AsyncTask('updateNowPlaying task', updateNowPlaying, (err) =>
+
console.log(`error while updateNowPlaying: ${err}`)
+
)
+
)
+
);
+
scheduler.addSimpleIntervalJob(
+
new SimpleIntervalJob(
+
{ seconds: 30 },
+
new AsyncTask('refreshContent task', refreshContent, (err) =>
+
console.log(`error while refreshContent: ${err}`)
+
)
+
)
);
export const handle = async ({ event, resolve }) => {
notifyDarkVisitors(event.url, event.request); // no await so it doesnt block