mirror of
https://github.com/fallenbagel/jellyseerr.git
synced 2025-12-23 18:29:19 -05:00
fix(requests): mark requests as failed when Radarr/Sonarr unreachable
This PR fixes requests silently failing when Radarr/Sonarr are unreachable. Requests are now marked as `FAILED` and notifications are sent to alert both users and admins. Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
This commit is contained in:
@@ -420,13 +420,32 @@ export class MediaRequestSubscriber
|
|||||||
mediaId: entity.media.id,
|
mediaId: entity.media.id,
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.error('Something went wrong sending request to Radarr', {
|
const requestRepository = getRepository(MediaRequest);
|
||||||
label: 'Media Request',
|
const mediaRepository = getRepository(Media);
|
||||||
errorMessage: e.message,
|
const media = await mediaRepository.findOne({
|
||||||
requestId: entity.id,
|
where: { id: entity.media.id },
|
||||||
mediaId: entity.media.id,
|
|
||||||
});
|
});
|
||||||
throw new Error(e.message);
|
|
||||||
|
if (media) {
|
||||||
|
entity.status = MediaRequestStatus.FAILED;
|
||||||
|
await requestRepository.save(entity);
|
||||||
|
|
||||||
|
logger.warn(
|
||||||
|
'Failed to send movie request to Radarr due to connection or configuration error, marking status as FAILED',
|
||||||
|
{
|
||||||
|
label: 'Media Request',
|
||||||
|
requestId: entity.id,
|
||||||
|
mediaId: entity.media.id,
|
||||||
|
errorMessage: e.message,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
MediaRequest.sendNotification(
|
||||||
|
entity,
|
||||||
|
media,
|
||||||
|
Notification.MEDIA_FAILED
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -727,13 +746,32 @@ export class MediaRequestSubscriber
|
|||||||
mediaId: entity.media.id,
|
mediaId: entity.media.id,
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.error('Something went wrong sending request to Sonarr', {
|
const requestRepository = getRepository(MediaRequest);
|
||||||
label: 'Media Request',
|
const mediaRepository = getRepository(Media);
|
||||||
errorMessage: e.message,
|
const media = await mediaRepository.findOne({
|
||||||
requestId: entity.id,
|
where: { id: entity.media.id },
|
||||||
mediaId: entity.media.id,
|
|
||||||
});
|
});
|
||||||
throw new Error(e.message);
|
|
||||||
|
if (media) {
|
||||||
|
entity.status = MediaRequestStatus.FAILED;
|
||||||
|
await requestRepository.save(entity);
|
||||||
|
|
||||||
|
logger.warn(
|
||||||
|
'Failed to send series request to Sonarr due to connection or configuration error, marking status as FAILED',
|
||||||
|
{
|
||||||
|
label: 'Media Request',
|
||||||
|
requestId: entity.id,
|
||||||
|
mediaId: entity.media.id,
|
||||||
|
errorMessage: e.message,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
MediaRequest.sendNotification(
|
||||||
|
entity,
|
||||||
|
media,
|
||||||
|
Notification.MEDIA_FAILED
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user