@name 插入数据库 @param process_info_list list @return bool
(self, process_info_list, _time)
| 632 | return time.time() - _day * 86400 |
| 633 | |
| 634 | def insert_db(self, process_info_list, _time): |
| 635 | ''' |
| 636 | @name 插入数据库 |
| 637 | @param process_info_list list |
| 638 | @return bool |
| 639 | ''' |
| 640 | if not process_info_list: return |
| 641 | all_top, cpu_top, disk_top, net_top, memory_top = self.get_top_list( |
| 642 | process_info_list) |
| 643 | |
| 644 | with db.Sql().dbfile('system') as _sql: |
| 645 | if not _time: |
| 646 | _time = int(time.time()) |
| 647 | _sql.table('process_top_list').insert({ |
| 648 | 'all_top': |
| 649 | dumps(all_top), |
| 650 | 'cpu_top': |
| 651 | dumps(cpu_top), |
| 652 | 'disk_top': |
| 653 | dumps(disk_top), |
| 654 | 'net_top': |
| 655 | dumps(net_top), |
| 656 | 'memory_top': |
| 657 | dumps(memory_top), |
| 658 | 'addtime': |
| 659 | _time |
| 660 | }) |
| 661 | |
| 662 | # 删除过期数据 |
| 663 | if not self.__insert_time: self.__insert_time = _time |
| 664 | if _time - self.__insert_time > 3600: |
| 665 | self.__insert_time = _time |
| 666 | _sql.table('process_top_list').where('addtime<?', self.get_expire_time()).delete() |
| 667 | |
| 668 | # 释放一次磁盘空间 |
| 669 | system_vacuum_file = "{}/data/system_vacuum.pl".format(public.get_panel_path()) |
| 670 | do_vacuum = False |
| 671 | if not os.path.exists(system_vacuum_file): |
| 672 | public.writeFile(system_vacuum_file, str(int(time.time()))) |
| 673 | do_vacuum = True |
| 674 | elif os.path.getmtime(system_vacuum_file) < time.time() - 86400 * 7: |
| 675 | public.writeFile(system_vacuum_file, str(int(time.time()))) |
| 676 | do_vacuum = True |
| 677 | if do_vacuum: |
| 678 | _sql.execute('VACUUM', ()) |
| 679 | |
| 680 | _sql.close() |
| 681 | |
| 682 | def get_top_list(sekf, process_info_list): |
| 683 | ''' |
no test coverage detected