12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- # -*- coding: utf-8 -*-
- # @Time : 2023/1/5 10:00
- # @Author : XuJiakai
- # @File : delete_mongo_history
- # @Software: PyCharm
- import datetime
- from project_const import MONGODB_NAME
- from sdk.WinhcAllClient import get_all_client
- all_client = get_all_client()
- del_col = all_client.get_mongo_collection(MONGODB_NAME + '_del')
- def _get_remove_ds(start_ds):
- start_date = datetime.datetime.strptime(start_ds, "%Y%m%d")
- last_week = datetime.datetime.today() + datetime.timedelta(days=-7)
- result = []
- while start_date < last_week:
- date_str = start_date.strftime("%Y%m%d")
- result.append(date_str)
- start_date += datetime.timedelta(days=1)
- pass
- return result
- pass
- def remove_mongo_history():
- res = del_col.find_one()
- del_info = None
- if res:
- start_ds = res['_id'].split('_')[0]
- result_date = _get_remove_ds(start_ds)
- del_list = []
- for i in result_date:
- print(f"delete prefix: {i} ...")
- res = del_col.delete_many({"_id": {"$regex": "^" + i}})
- str = f"deleted prefix: {i} , deleted_count: {res.deleted_count}"
- del_list.append(str)
- print(str)
- pass
- del_info = '\n'.join(del_list)
- return del_info
- pass
- if __name__ == '__main__':
- remove_mongo_history()
- pass
|