mirror of
https://github.com/lfnovo/open-notebook.git
synced 2026-05-03 05:40:36 +00:00
fix: podcast failure recovery and retry (1.7.3) (#595)
* fix: surface podcast errors and enable retry for failed episodes Fixes #335, #300 Re-raise exceptions in podcast command so surreal-commands marks jobs as failed instead of completed. Surface error_message in API responses and add a retry endpoint that deletes the failed episode and re-submits the generation job. Frontend shows error details on failed episodes with a retry button. Translations added for all 8 locales. * fix: bump podcast-creator to >= 0.10 Fixes #302 * chore: release 1.7.3 - podcast failure recovery and retry Bump podcast-creator to >= 0.11.2, disable automatic retries for podcast generation to prevent duplicate episodes, and bump version to 1.7.3. Fixes #211, #218, #185, #355, #300, #302 * fix: resolve TypeScript error in handleRetry return type
This commit is contained in:
parent
96525b4457
commit
c666966b8c
19 changed files with 239 additions and 25 deletions
|
|
@ -129,6 +129,24 @@ class PodcastEpisode(ObjectModel):
|
|||
except Exception:
|
||||
return "unknown"
|
||||
|
||||
async def get_job_detail(self) -> dict:
|
||||
"""Get status and error_message of the associated command"""
|
||||
if not self.command:
|
||||
return {"status": None, "error_message": None}
|
||||
|
||||
try:
|
||||
from surreal_commands import get_command_status
|
||||
|
||||
status = await get_command_status(str(self.command))
|
||||
if not status:
|
||||
return {"status": "unknown", "error_message": None}
|
||||
return {
|
||||
"status": status.status,
|
||||
"error_message": getattr(status, "error_message", None),
|
||||
}
|
||||
except Exception:
|
||||
return {"status": "unknown", "error_message": None}
|
||||
|
||||
@field_validator("command", mode="before")
|
||||
@classmethod
|
||||
def parse_command(cls, value):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue