feat(requests): mark requests as failed when Radarr/Sonarr unreachable (#2171)

Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
This commit is contained in:
0xsysr3ll
2026-03-02 00:41:27 +01:00
committed by GitHub
parent 61e0377361
commit c23117eb6b

View File

@@ -446,13 +446,32 @@ export class MediaRequestSubscriber implements EntitySubscriberInterface<MediaRe
mediaId: entity.media.id,
});
} catch (e) {
logger.error('Something went wrong sending request to Radarr', {
label: 'Media Request',
errorMessage: e.message,
requestId: entity.id,
mediaId: entity.media.id,
const requestRepository = getRepository(MediaRequest);
const mediaRepository = getRepository(Media);
const media = await mediaRepository.findOne({
where: { id: 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
);
}
}
}
}
@@ -769,13 +788,32 @@ export class MediaRequestSubscriber implements EntitySubscriberInterface<MediaRe
mediaId: entity.media.id,
});
} catch (e) {
logger.error('Something went wrong sending request to Sonarr', {
label: 'Media Request',
errorMessage: e.message,
requestId: entity.id,
mediaId: entity.media.id,
const requestRepository = getRepository(MediaRequest);
const mediaRepository = getRepository(Media);
const media = await mediaRepository.findOne({
where: { id: 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
);
}
}
}
}