Gibt es eine Möglichkeit, zu verhindern, dass zwei Python-Programme gleichzeitig dieselbe Binärdatei ausführen?

8

Ich habe zwei Python-Skripte, die beide in regelmäßigen Abständen (denke Cronjobs) ein externes Programm aufrufen müssen.

Wenn dieses Programm (über das wir keine Kontrolle haben) zweimal gleichzeitig aufgerufen wird, treten Datenfehler auf, also müssen wir eine Möglichkeit haben, Aufrufe dieser Binärdatei zu synchronisieren.

Gibt es eine Möglichkeit, dies zu tun, vorzugsweise nur mit der Python-Standardbibliothek?

    
lindelof 18.06.2015, 10:16
quelle

1 Antwort

5

Wenn Sie also keine Bibliothek eines Drittanbieters wie filelock verwenden, müssen Sie Folgendes tun:

%Vor%

Der bessere Ansatz besteht darin, filelock zu verwenden ( wenn Sie Bibliotheken von Drittanbietern installieren können ) :

%Vor%

Sie können einfach filelock mit pip :

%Vor%

Siehe auch: Sperren einer Datei in Python

Hinweis: Es scheint auch ein sehr ähnlich benanntes Paket namens zu geben Sperrdatei ! ( Verwechsle die beiden nicht! )

    
James Mills 18.06.2015, 10:23
quelle

Tags und Links