Digest de notifications Discord/Apprise + logs par schedule#6
Merged
Conversation
Notifications : - Discord et Apprise envoient desormais un seul digest en fin de scan, listant les fichiers telecharges, au lieu d'un message par fichier. La liste est decoupee en lots (20 lignes par message, avec une courte pause entre les envois) pour ne pas se faire limiter par Discord. Aucun message n'est envoye si le scan ne telecharge rien. - Introduit l'interface ScheduleSummaryAction (action de fin de run recevant la liste des fichiers telecharges) ; Discord et Apprise l'implementent et sont desormais routes via ScheduleConfiguration.getSummaryActions(). - DownloadFilesWorkflowStep collecte les fichiers reellement telecharges (etat FINISHED) et declenche les actions de digest a la fin du run. - Pushbullet et Amazon SNS restent inchanges (un message par fichier). Logs par schedule : - RunnableSchedule place le nom du schedule dans le MDC pendant l'execution. - La configuration log4j2 release route les logs d'un run vers /config/logs/schedules/<nom>.log via un RoutingAppender ; les logs hors run restent dans /config/logs/davos.log. Passe la version a 2.5.0 et met a jour le changelog.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
1. Notifications en digest (Discord & Apprise)
Avant, Discord et Apprise envoyaient un message par fichier telecharge, ce qui pouvait declencher le rate limiting de Discord et noyer le salon.
Desormais :
Implementation : nouvelle interface
ScheduleSummaryAction(action de fin de run recevant la liste des fichiers), portee parScheduleConfiguration.getSummaryActions().DiscordNotifyActionetAppriseNotifyActionla implementent.DownloadFilesWorkflowStepcollecte les transfertsFINISHEDet declenche le digest a la fin du run.2. Un log par schedule
Chaque schedule ecrit maintenant son propre fichier de log :
On peut donc suivre l'activite d'un schedule directement sur le disque (volume
/config), sans passer par la web UI. Les logs generaux (web, demarrage) restent dans/config/logs/davos.log.Implementation :
RunnableScheduleplace le nom du schedule dans le MDC pendant l'execution ; la config log4j2 release route les evenements via unRoutingAppender(fichier dedie quand un run est en cours,davos.logsinon).Version passee a
2.5.0.Note
Comme les notifications ne partent que lorsqu'un scan telecharge effectivement des fichiers, si un schedule ne trouve rien de neuf, aucun digest n'est envoye (c'est voulu). Le log par schedule, lui, est ecrit a chaque run et permet de verifier ce qui s'est passe.