"""Отдельная отметка старта выполнения прогона парсинга. Revision ID: 006 Revises: 005 Create Date: 2026-08-28 `started_at` пишется в момент СОЗДАНИЯ строки, то есть постановки в очередь. При массовом запуске очередь разбирается часами, и «длительность» прогона по двум таймстампам показывала 2.8 часа там, где сам парсинг занял 50 секунд — для отладки это дезинформация. Момент, когда воркер реально взял задачу, пишем отдельно; разница со `started_at` — это ожидание в очереди. """ import sqlalchemy as sa from alembic import op revision = "006" down_revision = "005" branch_labels = None depends_on = None def upgrade() -> None: # Для уже прошедших прогонов остаётся NULL: подставлять им started_at # значило бы выдать время ожидания за время работы. op.add_column("parse_runs", sa.Column("run_started_at", sa.DateTime(), nullable=True)) def downgrade() -> None: op.drop_column("parse_runs", "run_started_at")