Wipe branch
This commit is contained in:
		
							
								
								
									
										43
									
								
								cleaner.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								cleaner.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,43 @@ | ||||
| from threading import Thread | ||||
| from mysql.connector import connect, Error | ||||
| from time import sleep, time | ||||
| from macros import * | ||||
| import os | ||||
|  | ||||
|  | ||||
| class NThread(Thread): | ||||
| 	conn = None | ||||
|  | ||||
| 	def __init__(self, event): | ||||
| 		super(NThread, self).__init__() | ||||
| 		self.event = event | ||||
|  | ||||
|  | ||||
| 	def clean(self): | ||||
| 		with self.conn.cursor() as c: | ||||
| 			c.execute(f"DELETE FROM `asiclogs` WHERE `time` < UNIX_TIMESTAMP() - %s", (CONF.get('db-log-days'),)) | ||||
| 			c.execute(f"DELETE FROM `laststate` WHERE `time` < UNIX_TIMESTAMP() - 30") | ||||
|  | ||||
| 			self.conn.commit() | ||||
|  | ||||
|  | ||||
| 	def run(self): | ||||
| 		try: | ||||
| 			SUCC("Cleaner started!") | ||||
|  | ||||
| 			self.conn = connect( | ||||
| 				host=CONF.get('db', 'host'), | ||||
| 				user=CONF.get('db', 'user'), | ||||
| 				password=CONF.get('db', 'password'), | ||||
| 				database=CONF.get('db', 'name')) | ||||
|  | ||||
| 			while 1: | ||||
| 				if self.event.is_set(): | ||||
| 					SUCC('Cleaner stopped!') | ||||
| 					break | ||||
|  | ||||
| 				self.clean() | ||||
| 				sleep(5) | ||||
| 		except Exception as e: | ||||
| 			CRIT(str(e)) | ||||
| 			os._exit(1) | ||||
		Reference in New Issue
	
	Block a user