Exklusiver Dateizugriff zwischen Prozessen in Python

Beachten Sie, dass ich untersucht habe, wie exklusive Dateien zwischen Prozessen in Python gesteuert werden. Das Dokument enthält eine Sperrdatei

This package is deprecated. It is highly preferred that instead of using this code base that instead fasteners or oslo.concurrency is used instead.

Versuchen Sie es mit Verbindungselementen. Es befindet sich in PyPI, sodass die Installation mit pip einfach ist:

pip install fasteners

Von den Beispielen im Dokument ist diesmal die Interprozesssperre Ich werde es versuchen. Es gibt eine Methode, um "mit" zu verwenden, und eine Methode, um es zu einem Dekorateur zu machen.

import os
import time
import fasteners

def main():
    pid = os.getpid()
    while True:
        print("Waiting...")
        with fasteners.InterProcessLock('/tmp/tmp_lock_file'):
            print('Locked by {}'.format(pid))
            time.sleep(2)
        time.sleep(1)

if __name__ == '__main__':
    main()

Der Teil innerhalb von "with" wird ausschließlich ausgeführt.

import os
import time
import fasteners

@fasteners.interprocess_locked("/tmp/tmp_lock_file")
def action_with_lock():
    pid = os.getpid()
    print("{} has a lock".format(pid))
    time.sleep(1)

if __name__ == '__main__':
    action_with_lock()

Klicken Sie hier, wenn Sie ausschließlich eine Funktion ausführen möchten. Beide sind einfach zu implementieren. Dies ist praktisch, da es nicht erforderlich ist, "/ tmp / tmp_lock_file" im Voraus zu erstellen.

Recommended Posts

Exklusiver Dateizugriff zwischen Prozessen in Python
Exklusive Steuerung mit Sperrdatei in Python
Dateioperationen in Python
Dateiverarbeitung in Python
Dateimanipulation mit Python
Manipulation des Datei- / Ordnerpfads in Python
Unterschied zwischen list () und [] in Python
Linebot-Erstellung und Dateifreigabe mit Python
Erstellen Sie eine Binärdatei in Python
Ich habe versucht, den Prozess mit Python zu studieren
ORC, Parkettdateivorgänge in Python
Greifen Sie mit Python auf die Twitter-API zu
Funktion zum Öffnen einer Datei in Python3 (Unterschied zwischen open und codecs.open und Geschwindigkeitsvergleich)
Unterschied in der Authentizität zwischen Python und JavaScript
Unterschiede zwischen Ruby und Python im Umfang
Unterschied zwischen Anweisungen (Anweisungen) und Ausdrücken (Ausdrücken) in Python
Wiederbelebt von "kein Internetzugang" in Python
Unterschied zwischen @classmethod und @staticmethod in Python
Unterschied zwischen Anhängen und + = in der Python-Liste
Unterschied zwischen nicht lokal und global in Python
Schreiben Sie die O_SYNC-Datei in C und Python
Lesen Sie die Datei Zeile für Zeile mit Python
Lesen Sie die Datei Zeile für Zeile mit Python
[GPS] Erstellen Sie eine kml-Datei mit Python
Greifen Sie über Cognito in Python auf S3-Ressourcen zu
Unterschiede in der Multithread-Verarbeitung zwischen Python und Jython
[Python] Lesen Sie die angegebene Zeile in der Datei
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Skript-Python-Datei
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
SendKeys in Python
Erstellen Sie eine GIF-Datei mit Pillow in Python
DL, Bytewert und Löschen der Datei in Python3
Lesen Sie eine Datei mit verstümmelten Linien in Python
Unterschied zwischen Variablen und Selbst. Variablen in der [Python] -Klasse
Von der Datei zur Diagrammzeichnung in Python. Grundstufe Grundstufe
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Python-Dateiverarbeitung
Quicksort in Python
Über den Unterschied zwischen "==" und "is" in Python
nCr in Python
[Python] Automatisierung zum Kopieren von Excel-Dateien implementiert
N-Gramm in Python
Programmieren mit Python
Konstante in Python
Verschieben von CSV-Dateien in Python Teil 2: Leistungsmessung
Ein Forscher eines Pharmaunternehmens fasste das Scannen von Dateien in Python zusammen
FizzBuzz in Python
GUI (WxPython) Ausführungsdatei (pyInstaller) [Windows] in Python3
SQLite in Python
Schritt AIC in Python