|
@@ -0,0 +1,49 @@
|
|
|
+# -*- 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
|