CLI und Scheduler · Frage 9 von 12

Ein Import-Befehl wird per Cron jede Minute gestartet, ein Lauf kann aber länger dauern. Zwei Läufe dürfen nie gleichzeitig arbeiten. Wie verhindert man das mit TYPO3-Mitteln?

1 Antwort ist richtig. Mittel

Lösung anzeigen

Lösung

  • D Über die LockFactory einen Locker mit LOCK_CAPABILITY_EXCLUSIVE | LOCK_CAPABILITY_NOBLOCK erzeugen, acquire() versuchen und bei Misserfolg sofort beenden

Erklärung

Die LockFactory wählt eine passende Sperrstrategie (Datei, Semaphore, …). Mit NOBLOCK kehrt acquire() sofort zurück, statt zu warten, der zweite Lauf kann sich also sauber beenden. Am Ende gibt release() die Sperre frei. Ein selbst gebautes Kennzeichen in der Registry bleibt nach einem Absturz stehen und ist nicht atomar. Für Scheduler-Tasks gibt es zusätzlich die Einstellung zur parallelen Ausführung.

Zertifikate & Prüfungen

Welche Prüfung kommt als Nächstes?

19 Prüfungen kannst du schon üben, über 21 stimmst du gerade ab. Sieh dir alle Zertifikate mit offiziellen Infos an, gib deine Stimme ab oder schlag deine Prüfung vor.

Zur Zertifikatsübersicht