summaryrefslogtreecommitdiff
path: root/Biz/PodcastItLater
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2025-11-20 23:27:02 -0500
committerBen Sima <ben@bsima.me>2025-11-20 23:27:02 -0500
commit3d1cee8fd1d8c97e72d0f5365ca0371e5676283e (patch)
tree2b91a99a97e4d8da19f169888daf5c1d289faa1c /Biz/PodcastItLater
parentc7cc9b727075566edc83cb25de31aeb3afb0f02a (diff)
feat: implement t-1f9RIzd
Diffstat (limited to 'Biz/PodcastItLater')
-rw-r--r--Biz/PodcastItLater/Core.py4
-rw-r--r--Biz/PodcastItLater/Worker.py3
2 files changed, 5 insertions, 2 deletions
diff --git a/Biz/PodcastItLater/Core.py b/Biz/PodcastItLater/Core.py
index 8d31956..738531f 100644
--- a/Biz/PodcastItLater/Core.py
+++ b/Biz/PodcastItLater/Core.py
@@ -373,7 +373,7 @@ class Database: # noqa: PLR0904
SELECT id, url, email, status, created_at, error_message,
title, author
FROM queue
- WHERE status IN ('pending', 'processing', 'error')
+ WHERE status IN ('pending', 'processing', 'extracting', 'synthesizing', 'uploading', 'error')
ORDER BY created_at DESC
LIMIT 20
""")
@@ -888,7 +888,7 @@ class Database: # noqa: PLR0904
title, author
FROM queue
WHERE user_id = ? AND
- status IN ('pending', 'processing', 'error')
+ status IN ('pending', 'processing', 'extracting', 'synthesizing', 'uploading', 'error')
ORDER BY created_at DESC
LIMIT 20
""",
diff --git a/Biz/PodcastItLater/Worker.py b/Biz/PodcastItLater/Worker.py
index 5203490..94db30e 100644
--- a/Biz/PodcastItLater/Worker.py
+++ b/Biz/PodcastItLater/Worker.py
@@ -620,6 +620,7 @@ class ArticleProcessor:
return
# Step 1: Extract article content
+ Core.Database.update_job_status(job_id, "extracting")
title, content, author, pub_date = (
ArticleProcessor.extract_article_content(url)
)
@@ -630,6 +631,7 @@ class ArticleProcessor:
return
# Step 2: Generate audio with metadata
+ Core.Database.update_job_status(job_id, "synthesizing")
audio_data = self.text_to_speech(content, title, author, pub_date)
if self.shutdown_handler.is_shutdown_requested():
@@ -638,6 +640,7 @@ class ArticleProcessor:
return
# Step 3: Upload to S3
+ Core.Database.update_job_status(job_id, "uploading")
filename = ArticleProcessor.generate_filename(job_id, title)
audio_url = self.upload_to_s3(audio_data, filename)