Ich habe ein PHP-Skript geschrieben, um zu überprüfen, ob sich neue Dateien in einem Ordner befinden, und um sie auf einen Server hochzuladen, falls neue Dateien vorhanden sind. Diese Dateien können sehr groß sein. Ich möchte dieses Skript häufig - beispielsweise alle 5 Minuten - als geplante Aufgabe ausführen, damit die Dateien so schnell wie möglich auf den Server verschoben werden. Sobald das Skript jedoch bereits versucht, eine Datei hochzuladen, möchte ich nicht, dass sie erneut ausgeführt wird, da ich befürchte, dass die zweite Instanz die Datei überschreibt, die bereits auf den Server hochgeladen wird.
Wie kann ich das Skript als geplante Aufgabe ausführen, es sei denn, das Skript wird bereits ausgeführt?
quelle
Die übliche Methode besteht darin, beim Start der Aufgabe auf ein globales Ding (häufig eine bestimmte leere Datei) zu testen. Wenn vorhanden, wird die Aufgabe bereits ausgeführt. Wenn nicht, setzen Sie das globale Ding, erledigen Sie Ihre Aufgaben und deaktivieren Sie das globale Ding, wenn die Aufgabe erledigt ist.
Dies hat Probleme, wenn die Aufgabe fehlschlägt, ohne das globale Ding zu deaktivieren. Möglicherweise möchten Sie es immer in der Computer-Startroutine deaktivieren, da die Aufgabe nach einem Neustart nicht ausgeführt werden kann. Besser ist es, ein globales Ding zu finden, das automatisch verschwindet, wenn die Aufgabe endet.
quelle