Gestion des scripts

La fenêtre de gestion des scripts permet d'avoir le contrôle sur les scripts en cours, mais permet aussi de lancer des scripts de régénération des pages.

Gestion des scripts - Fenêtre

Régénération des pages

La régénération des pages est pratique pour prendre en compte une modification que vous avez effectué sur la configuration du site, un template ou une rangée sans passer par Automne. Par exemple lorsque vous éditez vos modèles ou rangées directement sur le serveur.

Vous pouvez choisir de régénérer une ou plusieurs pages précises en entrant leurs identifiants (séparés par des virgules, ou par des tirets pour préciser un interval) dans le champ "Spécifiez les pages". Vous pouvez aussi sélectionner les pages si vous ne connaissez par leur identifiant. Pour cela cliquer sur "Sélectionner" à côté du champ "Spécifiez les pages". Vous pourrez alors sélectionner votre page dans l'arborescence de votre site.

Vous pouvez aussi choisir de régénérer toutes les pages du site "Tout régénérer" ou de régénérer toutes les pages descendant d'une page précise en choisissant "Régénérer une branche".

Gestion des scripts

La partie scripts en cours vous permet de voir les scripts exécutés par Automne. Vous pouvez décider de stopper ces scripts en cliquant sur "Stopper les scripts", Annuler l'exécution des scripts en attente en cliquant sur "Effacer la file", ou Relancer l'exécution de tous les scripts en cliquant sur "Relancer les scripts".

Vous pouvez suivre l'évolution des scripts via la barre de progression située sous les boutons d'actions.

Vous pouvez aussi afficher des détails sur les scripts en cours ou sur la file d'attente des scripts en cliquant sur "Détails des scripts en cours" ou "Détails de la file d'attente".

Gestion des scripts - traitement en cours

Détails des scripts en cours :

Pour les scripts en cours sont affichés :

  • le nom du script
  • la date et l'heure du début du script
  • le statut du script (réussi ou échoué)

Détails de la file d'attente :

Vous aurez ici la liste de tous les scripts restant à exécuter dans l'ordre dans lequel ils seront traités.

 

Ajouter un script PHP en fille d'attente et le traiter

Au cours de vos développements en PHP, vous serez peut-être amené à souhaiter effectuer un script en tâche de fond avec PHP.

Prenons par exemple un module Actualités, de nom de code "news".

Notre classe de module, située dans /automne/classes/modules/news.php, nous indiquons que le module étend la classe du module polymod, afin d'hériter des fonctions de base :

<?php
class news extends CMS_polymod{
    // My class here...
}
?>

 

Dans le corps de la classe du module nous précisons ensuite la fonction "scriptTask".

Cette fonction nous permettra d'indiquer ce que doit faire le script :

<?php
function scriptTask($parameters) {
    // My parameters
    $myTask = $parameters['task']; // 'myTaskName'
    $myVar= $parameters['myVar']; // $myVar
    // My script here...
}
?>

Dans votre code PHP, dans une rangée ou un modèle par exemple, indiquez le code pour ajouter une tâche à la file d'attente et la traiter :

<?php
// Add a script to the queue
$parameters = array(
    'task'        => 'myTaskName',
    'myVar'       => $myVar,
);
CMS_scriptsManager::addScript('news', $parameters);
 
// Launch the queue treatment
CMS_scriptsManager::startScript();
?>

CMS_scriptsManager::addScript permet d'indiquer quel module utiliser, ici "news", puis d'indiquer les paramètres nécessaires au traitement du script.

CMS_scriptsManager::startScript permet de lancer le traitement de la file d'attente.



Ajouter une contribution :

Les contributions servent à compléter la documentation en détaillant des points précis ou pour donner des exemples. Elles sont modérées et peuvent être supprimées sans préavis.
Pour poser des questions, merci d'employer le forum et pour rapporter un bug, le BugTracker est à votre disposition.








Vous pouvez employer les balises bbcode suivantes :
  • [code-xml] votre code ... [/code-xml] : Pour mettre en forme du code XML / XHTML
  • [code-php] votre code ... [/code-php] : Pour mettre en forme du code PHP
  • [code-js] votre code ... [/code-js] : Pour mettre en forme du code Javascript

Date de votre contribution : 29/05/2017   02:11:49

Haut