| 1234567891011121314151617181920 |
- -- 1.0.580 —— 工作包 G:模块重算任务的协作式取消标志。
- -- 背景:超管需要能取消一个正在跑的重算。只改 status 而进程仍在写表是假取消,
- -- 会和后续重算抢同一批表。所以这里只加一个标志位:
- -- 接口置 cancel_requested_flag=1,ModuleRebuildWorker 在阶段边界看到后自行中止,
- -- 由 TransformRunLogFinalizer 把那一轮 run log 收口为 ABORTED。
- --
- -- 幂等:列已存在则跳过,可重复执行。
- SET @col_exists := (
- SELECT COUNT(*) FROM information_schema.COLUMNS
- WHERE TABLE_SCHEMA = DATABASE()
- AND TABLE_NAME = 'ado_module_dashboard_rebuild_job'
- AND COLUMN_NAME = 'cancel_requested_flag'
- );
- SET @ddl := IF(@col_exists = 0,
- 'ALTER TABLE ado_module_dashboard_rebuild_job ADD COLUMN cancel_requested_flag TINYINT(1) NOT NULL DEFAULT 0 COMMENT ''管理员请求协作式取消,阶段边界生效'' AFTER requested_by',
- 'SELECT 1');
- PREPARE stmt FROM @ddl;
- EXECUTE stmt;
- DEALLOCATE PREPARE stmt;
|