Guard startup scheduler calls against unhandled promise rejections; v2.0.42
Publish Container / docker (push) Successful in 14m48s
Publish Container / docker (push) Successful in 14m48s
Replace bare `void fn()` with `fn().catch(err => console.error(...))` for all four startup-time scheduler invocations so an unexpected rejection cannot crash the Node.js process (which exits on unhandled rejections in v15+). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
8ba300eddc
commit
6621c45be8
2 files changed
+13
-5
No files matched your search
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "siteforge",
|
||||
"private": true,
|
||||
"version": "2.0.41",
|
||||
"version": "2.0.42",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -191,7 +191,9 @@ Promise.all([
|
||||
console.error('[study-reminders] failed to schedule reminders:', err)
|
||||
})
|
||||
}, 60 * 60 * 1000)
|
||||
void scheduleStudyReminders(sendStudyReminderEmail)
|
||||
scheduleStudyReminders(sendStudyReminderEmail).catch(err => {
|
||||
console.error('[study-reminders] failed to schedule reminders:', err)
|
||||
})
|
||||
|
||||
// Send re-engagement emails to inactive study users every hour
|
||||
setInterval(() => {
|
||||
@@ -199,7 +201,9 @@ Promise.all([
|
||||
console.error('[study-reengagement] failed to schedule emails:', err)
|
||||
})
|
||||
}, 60 * 60 * 1000)
|
||||
void scheduleReengagementEmails(sendStudyReengagementEmail)
|
||||
scheduleReengagementEmails(sendStudyReengagementEmail).catch(err => {
|
||||
console.error('[study-reengagement] failed to schedule emails:', err)
|
||||
})
|
||||
|
||||
// Send weekly lesson digest emails every hour (only actually fires every 7 days per user)
|
||||
setInterval(() => {
|
||||
@@ -207,7 +211,9 @@ Promise.all([
|
||||
console.error('[study-digest] failed to schedule weekly digest:', err)
|
||||
})
|
||||
}, 60 * 60 * 1000)
|
||||
void scheduleWeeklyDigestEmails(sendStudyWeeklyDigestEmail)
|
||||
scheduleWeeklyDigestEmails(sendStudyWeeklyDigestEmail).catch(err => {
|
||||
console.error('[study-digest] failed to schedule weekly digest:', err)
|
||||
})
|
||||
|
||||
// Check for a scheduled series transition every hour
|
||||
setInterval(() => {
|
||||
@@ -215,7 +221,9 @@ Promise.all([
|
||||
console.error('[series-scheduler] error:', err)
|
||||
})
|
||||
}, 60 * 60 * 1000)
|
||||
void runScheduledSeriesTransition()
|
||||
runScheduledSeriesTransition().catch(err => {
|
||||
console.error('[series-scheduler] error:', err)
|
||||
})
|
||||
|
||||
app.listen(PORT, () => {
|
||||
logResendEmailAlignmentWarnings()
|
||||
|
||||
Reference in new issue
Block a user