Skip to content

Commit f72c60b

Browse files
committed
fix(worker): propagate platform metadata to interactive buttons
1 parent 9a77a0e commit f72c60b

3 files changed

Lines changed: 14 additions & 7 deletions

File tree

backend/workers/callbacks.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ async def _send_slack_message(payload: dict[str, Any]) -> None:
4343

4444

4545
async def notify_slack_on_complete(
46-
user_id: str, channel_id: str, draft: str, topic: str, draft_id: str
46+
user_id: str, channel_id: str, draft: str, topic: str, draft_id: str, platform: str
4747
) -> None:
4848
logger.info(
4949
"sending_slack_completion_notification", user_id=user_id, channel_id=channel_id
@@ -53,7 +53,11 @@ async def notify_slack_on_complete(
5353
"channel": channel_id,
5454
"text": SLACK_UI["draft_ready_fallback"].format(topic=topic),
5555
"blocks": build_draft_card(
56-
topic=topic, draft=draft, user_id=user_id, draft_id=draft_id
56+
topic=topic,
57+
draft=draft,
58+
user_id=user_id,
59+
draft_id=draft_id,
60+
platform=platform,
5761
),
5862
}
5963
await _send_slack_message(payload)

backend/workers/tasks/generate_draft.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@
44
from taskiq import TaskiqDepends
55

66
from backend.services.content_generator import ContentGenerator, JudgeFailedError
7+
from backend.workers.broker import broker
78
from backend.workers.callbacks import notify_slack_on_complete, notify_slack_on_failure
89
from backend.workers.dependencies import get_content_generator
910

1011
logger = structlog.get_logger()
1112

1213

1314
# Збільшено timeout до 180 секунд через наявність циклу LLM-as-a-Judge та Retries
15+
@broker.task(task_name="generate_medical_draft", timeout=180)
1416
async def generate_draft_task(
1517
topic: str,
1618
platform: str,
@@ -49,6 +51,7 @@ async def generate_draft_task(
4951
draft=result,
5052
topic=topic,
5153
draft_id=draft_id,
54+
platform=platform,
5255
)
5356

5457
return result

slack_app/utils/block_builder.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55

66
def build_draft_card(
7-
topic: str, draft: str, user_id: str, draft_id: str
7+
topic: str, draft: str, user_id: str, draft_id: str, platform: str
88
) -> list[dict[str, Any]]:
99
"""Генерує картку чернетки з кнопками дій."""
1010
return [
@@ -41,7 +41,7 @@ def build_draft_card(
4141
"emoji": True,
4242
},
4343
"style": "primary",
44-
"value": draft_id,
44+
"value": f"{draft_id}|{platform}", # ПРОШИВАЄМО ID ТА ПЛАТФОРМУ
4545
"action_id": "action_publish_draft",
4646
},
4747
{
@@ -51,7 +51,7 @@ def build_draft_card(
5151
"text": SLACK_UI["btn_edit"],
5252
"emoji": True,
5353
},
54-
"value": draft_id,
54+
"value": f"{draft_id}|{platform}",
5555
"action_id": "action_edit_draft",
5656
},
5757
{
@@ -61,7 +61,7 @@ def build_draft_card(
6161
"text": SLACK_UI["btn_regenerate"],
6262
"emoji": True,
6363
},
64-
"value": "regenerate",
64+
"value": f"{draft_id}|{platform}",
6565
"action_id": "action_regenerate_draft",
6666
},
6767
{
@@ -72,7 +72,7 @@ def build_draft_card(
7272
"emoji": True,
7373
},
7474
"style": "danger",
75-
"value": "reject",
75+
"value": f"{draft_id}|{platform}",
7676
"action_id": "action_reject_draft",
7777
},
7878
],

0 commit comments

Comments
 (0)