CLI et scheduler · Question 9 sur 12

Une commande d'import est lancée par cron chaque minute, mais une exécution peut durer plus longtemps. Deux exécutions ne doivent jamais travailler en même temps. Comment l'empêcher avec les moyens de TYPO3 ?

1 réponse est correcte. Moyen

Afficher la solution

Solution

  • D Créer un locker avec LOCK_CAPABILITY_EXCLUSIVE | LOCK_CAPABILITY_NOBLOCK via la LockFactory, tenter acquire() et quitter immédiatement en cas d'échec

Explication

La LockFactory choisit une stratégie de verrouillage adaptée (fichier, sémaphore, …). Avec NOBLOCK, acquire() revient immédiatement au lieu d'attendre, de sorte que la seconde exécution peut se terminer proprement. À la fin, release() libère le verrou. Un flag maison dans le registry subsiste après un plantage et n'est pas atomique. Pour les tâches du scheduler, il existe en plus le réglage d'exécution parallèle.

Certifications & examens

Quel examen pour la suite ?

Tu peux déjà t’entraîner pour 19 examens, 21 sont soumis au vote. Découvre toutes les certifications avec les infos officielles, vote ou propose ton examen.

Voir toutes les certifications