In diesem Artikel wird hauptsächlich der Beispielcode für die regelmäßige Änderung der Datenbank in Python vorgestellt. Der Herausgeber findet ihn recht gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Editor und werfen wir einen Blick darauf.
Wenn wir die Datenbank regelmäßig ändern müssen, entscheiden wir uns normalerweise dafür, einen geplanten Prozess zum Ändern der Datenbank zu starten. Wenn diese Art von geplanten Aufgaben in das Unternehmen geschrieben und als Schnittstelle geschrieben wird, erscheint Ihnen der geplante Prozess etwas unangemessen? Wenn Sie die Datenbank regelmäßig 100 Mal ändern müssen, werden mit der herkömmlichen Methode 100 Prozesse gestartet. Obwohl dieser Prozess sehr einfach ist, fühlt er sich dennoch unangenehm an. Tatsächlich können wir threading.Timer verwenden, um entsprechende Threads zu erstellen, um Bibliotheksänderungsvorgänge durchzuführen, und die Idee ist relativ einfach.
1. Übergeben Sie update_time, die Zeit, zu der der Datenbankänderungsvorgang ausgeführt wird, und verwenden Sie die Subtraktionsmethode zwischen update_time und der aktuellen Zeit, um die time_delay bis zum Datenbankänderungsvorgang zu erhalten. Um den Zeitunterschied zwischen zwei Standardzeitformatzeichenfolgen zu ermitteln, können Sie die Zeit mit datetime.datetime.strptime() formatieren. Die formatierte Zeit kann direkt subtrahiert und das Ergebnis durch Ausführen von .seconds()
2. Kapseln Sie den Bibliotheksänderungsvorgang in die Methode update() und übergeben Sie dann die Aktualisierung und die Zeitdifferenz an den von threading.Timer erstellten Thread =[], kwargs={}) Thread-Instanz, Intervall ist die verzögerte Ausführungszeit, die Einheit ist Sekunden, und dann wird start() ausgeführt. Der Timer ist nicht blockierend und kann mehrere Threads erstellen, ohne sich gegenseitig zu beeinflussen. Der Code lautet wie folgt#!/usr/bin/env python3 # -*- coding: utf-8 -*- from model import Table from handler.base_handler import BaseHandler from threading import Timer import datetime class TimeHandler(BaseHandler): def do_action(self): update_time = "2018-04-07 18:00:00" ads_id = "test_1" t_online = datetime.datetime.strptime(update_time, '%Y-%m-%d %H:%M:%S') now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') t_now = datetime.datetime.strptime(now, '%Y-%m-%d %H:%M:%S') time_delay = (t_online - t_now).seconds t1 = Timer(time_delay, self.update, (ads_id, )) t1.start() self.result = "success" return def update(self, ads_id): self.db.dsp.query(Table).filter(Table.ads_id == ads_id).update({Table.is_del: 0}) self.db.dsp.commit()
Detaillierte Erklärung zum Lesen und Schreiben von Dateien in Python
Das obige ist der detaillierte Inhalt vonPython-Beispielcode zum regelmäßigen Ändern der Datenbank_python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!