Ticket #12 (closed 需求: 已处理)

Opened 14 years ago

Last modified 14 years ago

为按时间分表的需求增加定时任务

Reported by: lifeng Owned by: qinhongyuan
Priority: 重要的(3) Milestone:
Component: 核心模块 Version: 电脑网产品论坛6.4
Keywords: 分表 定时任务 Cc:
Due Date: 16/12/2011

Description

论坛有部分数据库表是按照时间分表的,比如按月分表就需要每个月有一张表。
以前的做法是在每年年底12月31日前把下一年度的所有时间表都建好。这种方式有遗忘的风险。
现在考虑新增一个定时任务,每天运行一次,如果符合条件就创建未来两个自然月需要用到的表。
出于安全性考虑,此定时任务要有三个判断点(比如分别在25日,28日,30日判断),以防某一点任务未运行而导致遗漏。

Change History

comment:1 Changed 14 years ago by qinhongyuan

  • groovy名字create_xdb_table.groovy,需要添加commons-lang-2.6.jar
  • 使用SQL语句,只针对mysql (1=2表示只要结构不要数据)
    create table if not exists 表名 select * from 被复制的表 where 1=2 
    
  • 发现上面的做法没有索引等信息,修改为
    create table if not exists 表名 like 被复制的表 
    
Last edited 14 years ago by qinhongyuan (previous) (diff)

comment:2 Changed 14 years ago by qinhongyuan

  • 设置日表向后延伸32个,月表向后延伸2个,年表在11,12份时候,向后延伸1个

comment:3 Changed 14 years ago by qinhongyuan

  • 日表32个缓冲不足,添加到62个,也就是说2个月

comment:4 Changed 14 years ago by qinhongyuan

  • 部署在239.173机器上

comment:5 Changed 14 years ago by qinhongyuan

  • Status changed from new to closed
  • Version set to 电脑网产品论坛6.4
  • Resolution set to fixed

comment:6 Changed 14 years ago by qinhongyuan

  • 经检验,其它所有网站论坛都已经添加定时任务,并且都已有后面月份的分表

comment:7 Changed 14 years ago by qinhongyuan

  • 28号检查日志,正常。
Note: See TracTickets for help on using tickets.