有一张普通报表,其基础数据是每天通过批处理任务更新的,现在想要实现业务人员在查看报表时,如果批处理任务未完成,则报表只显示:数据仍在更新中;如果批处理任务已完成,则显示原报表更新后数据。这个应该怎样实现呢?
批处理的时候,
增加一个开始时间和结束时间,
把这两个时间数据存入一个批处理的日志表里面
这样就可以判断批处理是否完成了
---------
在报表初始化的事件里面,就可以增加提示了
写个判断,看今天是否有数据更新,比如count(今天的数据),若是=0 或null 则显示数据仍在更新中,具体显示可以测试下弹窗
看看这个可不可以满足你的要求:
mysql数据库可以通过查询information_schema数据库中的INNODB_LOCKS表来判断表是否正在更新,示例如下。
SELECT *
FROM information_schema.INNODB_LOCKS
WHERE locked_table = '你的表名';
如果查询结果有数据,则表示该表正在被更新。