goon/alembic/versions/20260930_0051_movies_tpdb_checked_at.py
goon-foss 27309d24f2 fix(movies): kolejka wzbogacania z TPDB pamieta, co juz sprawdzila
Zadanie (co 6 h po 200) bralo zawsze 200 najnowszych kandydatow. Przebieg
o 05:00 wzbogacal 14-19 swiezych filmow, trzy kolejne mielily te same 200
bez trafienia z wynikiem zero, a 12,9 tys. starszych kandydatow nie bylo
sprawdzonych ani razu. Teraz movies.tpdb_checked_at (migracja 0051): najpierw
niesprawdzone, film bez trafienia wraca po 30 dniach, blad nie oznacza.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:39:12 +02:00

33 lines
1.2 KiB
Python

"""movies.tpdb_checked_at: kiedy film ostatnio szukano w TPDB (kolejka wzbogacania).
Wzbogacanie filmow z TPDB (co 6 h po 200) bralo zawsze 200 NAJNOWSZYCH kandydatow i nie
pamietalo, ktore juz sprawdzilo. Przebieg o 05:00, po dziennym ingescie, wzbogacal 14-19
nowych filmow, a trzy kolejne mielily te same 200 bez trafienia i konczyly z zerem.
12,9 tys. kandydatow starszych niz miesiac nie doczekalo sie ani jednego sprawdzenia
(pomiar 2026-09-30). Z data sprawdzenia kolejka idzie od niesprawdzonych, a film bez
trafienia wraca najwczesniej po 30 dniach.
Kolumna nullable bez DEFAULT, ALTER natychmiastowy; NULL = jeszcze nie sprawdzany.
Revision ID: 0051_movies_tpdb_checked_at
Revises: 0050_tag_vertical_counts_no_fk
Create Date: 2026-09-30
"""
from __future__ import annotations
from alembic import op
revision = "0051_movies_tpdb_checked_at"
down_revision: str | None = "0050_tag_vertical_counts_no_fk"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.execute("SET LOCAL lock_timeout = '5s'")
op.execute("ALTER TABLE movies ADD COLUMN IF NOT EXISTS tpdb_checked_at timestamptz")
def downgrade() -> None:
op.execute("SET LOCAL lock_timeout = '5s'")
op.execute("ALTER TABLE movies DROP COLUMN IF EXISTS tpdb_checked_at")