-
Sujet
-
Bonjour/soir, j’ai besoin de faire une db pour pouvoir stocker l’immense quantité de donnée que j’obtiens en tres peu de temps a l’aide de websocket. Un thread est sur l’envoie de requete avec les ws, et un autre sur le traitement des renvoie que j’ai.: voici le code : Si vous voulez plus d’info sur le code hesiter pas. Le gros du probleme est que je suis sensé traiter a peu pres 9800 data avec gaa, mais je n’en traite que 1k/1k5 a chaque fois. Je sais que le probleme vient de la db car lorsque je lance en skippant toute la fonction, j’ai bien 9800.
try: conn_player = sqlite3.connect(f'{PATH}DataBase/Player.db') cursor_player = conn_player.cursor() conn_bots = sqlite3.connect(f'{PATH}DataBase/Bots.db') cursor_bots = conn_bots.cursor() except sqlite3.OperationalError: sys.exit("Can't connect to database") socket = websocket.WebSocketApp(...) socket.run_forever(dispatcher=rel, reconnect=5) def on_open(ws: websocket.WebSocketApp): # se lance juste apres le run_forever time.sleep(1) _thread.start_new_thread(run, (ws,)) # run est une fonction appelle gaa en gros # a chaque fois que j'ai une nouvelle data : def gaa(data: dict): global counter counter += 1 for plr in data["OI"]: # la je traite un json, c'est bcp de code pas tres utile je vous mets juste une exemple, apres j'ai le bump dans la db id = plr["OID"] dump(f"""REPLACE INTO Player ( id ) VALUES ( "{id}" );""") # il y a bien plus de values que id # et voici dump() def dump(command: str, db: str = "Player"): try: if db == "Player": conn = conn_player elif db == "Bots": conn = conn_bots conn.execute(command) conn.commit() except sqlite3.OperationalError as e: print(repr(e), e)
——————–
Rémi Avec Un I – Envoyé depuis le Discord : Culte du code
Vous lisez 28 fils de discussion
Vous lisez 28 fils de discussion
- Vous devez être connecté pour répondre à ce sujet.