C’est avec ca que je gere la queue, elle ne sert pas que a ca, je peux aussi y mettre d’autres fonction mais pour ce probleme la il n’y a que ca, Et j’ajoute dans la queue avec: Je pense que execute many serait pas mal aussi, mais comment l’utiliser si je recois les données en flux
def enqueue(self, func, args=()):
if not self.running:
self.running = True
if not self.worker_thread.is_alive(): # Check if the worker thread is alive
self.worker_thread = threading.Thread(target=self.dequeue)
self.worker_thread.daemon = True
self.worker_thread.start()
self.queue.put((func, args))
self.total += 1
self.remaining += 1
def dequeue(self):
while self.running:
try:
func, args = self.queue.get(timeout=1)
if func == sqlite3.Connection.execute:
with DatabaseManager("./db/server.db") as db:
db.execute(args[0])
else:
func(*args)
self.queue.task_done()
self.remaining -= 1
except queue.Empty:
continue
if self.queue.empty():
self.running = False
@staticmethod
def get_query(table: str, data: list, or_replace=True) -> str:
return f"INSERT {"OR REPLACE " if or_replace else ""}INTO {table} ({', '.join([f'"{row.name}"' for row in TABLES[table].rows])}) VALUES ({', '.join([f"'{str(i)}'" for i in data])});"
# dans une fonction quelconque
query = self.get_query("Table", list_elem)
self.enqueue(sqlite3.Connection.execute, (query,))
——————–
remi_avec_un_i – Envoyé depuis le Discord : Culte du code