1.0.580.sql 1.0 KB

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