ФУНКЦИИ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: мониторинг очереди Voice Tasker

This commit is contained in:
DCCONSTRUCTIONS
2026-04-28 16:31:47 +03:00
parent 3b295e33f3
commit d60c28ec04
8 changed files with 772 additions and 10 deletions
@@ -0,0 +1,68 @@
# Generated by Codex on 2026-04-28
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("db", "0132_voice_tasker_queue_concurrency"),
]
operations = [
migrations.AddField(
model_name="voicetasksession",
name="completed_at",
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name="voicetasksession",
name="failed_at",
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name="voicetasksession",
name="parser_completion_tokens",
field=models.PositiveIntegerField(blank=True, null=True),
),
migrations.AddField(
model_name="voicetasksession",
name="parser_prompt_tokens",
field=models.PositiveIntegerField(blank=True, null=True),
),
migrations.AddField(
model_name="voicetasksession",
name="parser_total_tokens",
field=models.PositiveIntegerField(blank=True, null=True),
),
migrations.AddField(
model_name="voicetasksession",
name="parsing_duration_ms",
field=models.PositiveIntegerField(blank=True, null=True),
),
migrations.AddField(
model_name="voicetasksession",
name="processing_duration_ms",
field=models.PositiveIntegerField(blank=True, null=True),
),
migrations.AddField(
model_name="voicetasksession",
name="processing_started_at",
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name="voicetasksession",
name="queued_at",
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name="voicetasksession",
name="transcribed_at",
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name="voicetasksession",
name="transcription_duration_ms",
field=models.PositiveIntegerField(blank=True, null=True),
),
]
@@ -128,6 +128,17 @@ class VoiceTaskSession(BaseModel):
intent = models.CharField(max_length=40, blank=True)
parsed_json = models.JSONField(blank=True, default=dict)
client_context = models.JSONField(blank=True, default=dict)
queued_at = models.DateTimeField(null=True, blank=True)
processing_started_at = models.DateTimeField(null=True, blank=True)
transcribed_at = models.DateTimeField(null=True, blank=True)
completed_at = models.DateTimeField(null=True, blank=True)
failed_at = models.DateTimeField(null=True, blank=True)
transcription_duration_ms = models.PositiveIntegerField(null=True, blank=True)
parsing_duration_ms = models.PositiveIntegerField(null=True, blank=True)
processing_duration_ms = models.PositiveIntegerField(null=True, blank=True)
parser_prompt_tokens = models.PositiveIntegerField(null=True, blank=True)
parser_completion_tokens = models.PositiveIntegerField(null=True, blank=True)
parser_total_tokens = models.PositiveIntegerField(null=True, blank=True)
created_task = models.ForeignKey(
"db.Issue",
on_delete=models.SET_NULL,