33 lines
990 B
Python
33 lines
990 B
Python
"""tasks.run_owner 列(蓝绿双实例部署,RUN.md B 档).
|
|
|
|
Revision ID: 0020
|
|
Revises: 0019
|
|
Create Date: 2026-07-06
|
|
|
|
给 tasks 加 run_owner(TEXT NULL):当前 in-flight run 是哪个实例(ZCBOT_INSTANCE,
|
|
如 blue/green)起的。启动 stale-run reaper 据此只收自己实例的孤儿 run,不误杀蓝绿
|
|
并存期另一实例正在跑的 run。
|
|
|
|
单实例部署(ZCBOT_INSTANCE 未设)写 NULL,reaper 行为不变(全量收)。additive,
|
|
无数据迁移;存量 running 行 run_owner=NULL,会被任一实例的 reaper 兜底收掉(与
|
|
迁移前行为一致)。
|
|
"""
|
|
from typing import Sequence, Union
|
|
|
|
import sqlalchemy as sa
|
|
from alembic import op
|
|
|
|
|
|
revision: str = "0020"
|
|
down_revision: Union[str, None] = "0019"
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
op.add_column("tasks", sa.Column("run_owner", sa.Text(), nullable=True))
|
|
|
|
|
|
def downgrade() -> None:
|
|
op.drop_column("tasks", "run_owner")
|