@@ -247,15 +247,25 @@ export const uptimeRouter = {
247247 } ) ;
248248 }
249249
250- await Promise . all ( [
251- input . pause
252- ? client . schedules . pause ( { schedule : input . scheduleId } )
253- : client . schedules . resume ( { schedule : input . scheduleId } ) ,
254- db
255- . update ( uptimeSchedules )
256- . set ( { isPaused : input . pause , updatedAt : new Date ( ) } )
257- . where ( eq ( uptimeSchedules . id , input . scheduleId ) ) ,
258- ] ) ;
250+ try {
251+ await Promise . all ( [
252+ input . pause
253+ ? client . schedules . pause ( { schedule : input . scheduleId } )
254+ : client . schedules . resume ( { schedule : input . scheduleId } ) ,
255+ db
256+ . update ( uptimeSchedules )
257+ . set ( { isPaused : input . pause , updatedAt : new Date ( ) } )
258+ . where ( eq ( uptimeSchedules . id , input . scheduleId ) ) ,
259+ ] ) ;
260+ } catch ( error ) {
261+ logger . error (
262+ { scheduleId : input . scheduleId , error } ,
263+ "Failed to toggle QStash schedule"
264+ ) ;
265+ throw new ORPCError ( "INTERNAL_SERVER_ERROR" , {
266+ message : "Failed to update monitor status" ,
267+ } ) ;
268+ }
259269
260270 logger . info (
261271 { scheduleId : input . scheduleId , paused : input . pause } ,
@@ -277,13 +287,20 @@ export const uptimeRouter = {
277287 } ) ;
278288 }
279289
280- await Promise . all ( [
281- client . schedules . pause ( { schedule : input . scheduleId } ) ,
282- db
283- . update ( uptimeSchedules )
284- . set ( { isPaused : true , updatedAt : new Date ( ) } )
285- . where ( eq ( uptimeSchedules . id , input . scheduleId ) ) ,
286- ] ) ;
290+ try {
291+ await Promise . all ( [
292+ client . schedules . pause ( { schedule : input . scheduleId } ) ,
293+ db
294+ . update ( uptimeSchedules )
295+ . set ( { isPaused : true , updatedAt : new Date ( ) } )
296+ . where ( eq ( uptimeSchedules . id , input . scheduleId ) ) ,
297+ ] ) ;
298+ } catch ( error ) {
299+ logger . error ( { scheduleId : input . scheduleId , error } , "Failed to pause" ) ;
300+ throw new ORPCError ( "INTERNAL_SERVER_ERROR" , {
301+ message : "Failed to pause monitor" ,
302+ } ) ;
303+ }
287304
288305 logger . info ( { scheduleId : input . scheduleId } , "Schedule paused" ) ;
289306 return { success : true , isPaused : true } ;
@@ -300,13 +317,20 @@ export const uptimeRouter = {
300317 } ) ;
301318 }
302319
303- await Promise . all ( [
304- client . schedules . resume ( { schedule : input . scheduleId } ) ,
305- db
306- . update ( uptimeSchedules )
307- . set ( { isPaused : false , updatedAt : new Date ( ) } )
308- . where ( eq ( uptimeSchedules . id , input . scheduleId ) ) ,
309- ] ) ;
320+ try {
321+ await Promise . all ( [
322+ client . schedules . resume ( { schedule : input . scheduleId } ) ,
323+ db
324+ . update ( uptimeSchedules )
325+ . set ( { isPaused : false , updatedAt : new Date ( ) } )
326+ . where ( eq ( uptimeSchedules . id , input . scheduleId ) ) ,
327+ ] ) ;
328+ } catch ( error ) {
329+ logger . error ( { scheduleId : input . scheduleId , error } , "Failed to resume" ) ;
330+ throw new ORPCError ( "INTERNAL_SERVER_ERROR" , {
331+ message : "Failed to resume monitor" ,
332+ } ) ;
333+ }
310334
311335 logger . info ( { scheduleId : input . scheduleId } , "Schedule resumed" ) ;
312336 return { success : true , isPaused : false } ;
0 commit comments