Heim > Fragen und Antworten > Hauptteil
Das Programm geht jedes Mal zur Datenbank, um 10 Daten mit run_status=0 zu lesen,
Wenn eine Aufgabe ausgeführt wird, aktualisiert die Datenbank Felder
run_status=-1
bedeutet, dass diese Aufgabe gesperrt ist.
Nach Abschluss der Aufgabenausführung ist natürlich run_status = 0, was darauf hinweist, dass die Aufgabe entsperrt wurde.
Jetzt kommt das Problem. Wenn eine Aufgabe ausgeführt wird, befindet sich run_status=-1 aufgrund einer Ausnahme, z. B. wenn der Server das Programm während der Veröffentlichung plötzlich unterbricht, immer im gesperrten Zustand. Aber es wird nicht wirklich umgesetzt.
Jetzt müssen Sie einen Mechanismus entwickeln, um dies zu verhindern. Die aktuelle Umgebung kann Redis verwenden.