Commandes de contrôleur à exécution longue
Si une commande de contrôleur prend beaucoup de temps à s'exécuter, vous pouvez diviser la commande en deux commandes. La première commande, qui est exécutée à la suite d'une requête URL, ajoute simplement la deuxième commande au planificateur, de sorte qu'elle s'exécute en tant que travail en arrière-plan.
Le flux indiqué dans le diagramme précédent est le suivant :
- La commande de contrôleur1 est exécutée à la suite d'une requête URL.
- La commande de contrôleur1 ajoute un travail au planificateur. Le travail est la commande de contrôleur2. La commande de contrôleur1 renvoie une vue immédiatement après l'ajout du travail au planificateur.
- Le planificateur exécute la commande de contrôleur2 en tant que travail en arrière-plan.
Dans ce scénario, le client obtient généralement le résultat de la commande de contrôleur2. La commande de contrôleur2 doit écrire l'état du travail dans la base de données.