retry-failed: only pick open errors and mark them as retried
"Fehlgeschlagene neu einlesen" reported the same 29 mails on every click: it selected all error log entries ever written and never noted that one had already been retried. Error log entries now get retried_at when they are picked up; the endpoint only considers entries without it. If the mail fails again, the scheduler writes a new, open error entry, so a second click right after the first reports 0. The log shows retried errors greyed out with "↻ erneut versucht <Zeit>", and the result dialog says how many open error entries and mails were requeued. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -141,6 +141,9 @@ class FilterLog(Base):
|
||||
folder: Mapped[str | None] = mapped_column(String(255), nullable=True)
|
||||
details: Mapped[str | None] = mapped_column(String(2000), nullable=True)
|
||||
created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now(), index=True)
|
||||
# Fehler-Einträge: Zeitpunkt, zu dem "Fehlgeschlagene neu einlesen" die Mail
|
||||
# erneut angestoßen hat. Scheitert sie wieder, entsteht ein neuer Eintrag.
|
||||
retried_at: Mapped[datetime | None] = mapped_column(DateTime, nullable=True)
|
||||
|
||||
__table_args__ = (
|
||||
Index("ix_filter_logs_account_created", "account_id", "created_at"),
|
||||
|
||||
Reference in New Issue
Block a user