Intégration système et lancement des services

Lancement des services

transformation-server peut être lancé sous forme de service systemd ou sous forme de service Supervisor.

Lancement par systemd

Enregistrement pour lancement par systemd

  • Copier les fichiers lib/systemd/*.{service,timer} de description des services de transformation-server :
# cp $TE_HOME/lib/systemd/ted.service                 /usr/lib/systemd/system/

# cp $TE_HOME/lib/systemd/te-rendering-server.service /usr/lib/systemd/system/
# cp $TE_HOME/lib/systemd/te-request-server.service   /usr/lib/systemd/system/
# cp $TE_HOME/lib/systemd/te-tika-server.service      /usr/lib/systemd/system/

# cp $TE_HOME/lib/systemd/ted-cleantmpfiles.timer     /usr/lib/systemd/system/
# cp $TE_HOME/lib/systemd/ted-cleantmpfiles.service   /usr/lib/systemd/system/
  • Par défaut, ces fichiers de services systemd sont prévus pour un transformation-server installé dans /opt/transformation-server avec exécution des services sous l'utilisateur système te (c.f. TE_SERVER_USER) :

    • vérifier le répertoire des directives ExecStart pour correspondre à celui de votre répertoire d'installation ;
    • vérifier les directives User et Group pour référencer l'utilisateur système sous lequel seront exécutés les services.
  • Activer la target principale ted.service :

# systemctl enable ted.service

Démarrage/Arrêt des services TE

L'ensemble des services de transformation-server sont contrôlés via la target principale ted.service qui contrôlera à son tour les différents sous-services (te-rendering-server, te-request-server, et te-tika-server).

  • Démarrer la target ted.service :
# systemctl start ted.service
  • Pour arrêter les services :
# systemctl stop ted.service
  • Pour redémarrer tous les services :
# systemctl restart ted.service

Voir le statut des services

# systemctl status ted
# systemctl status te-rendering-server
# systemctl status te-request-server
# systemctl status te-tika-server

Lancement par Supervisor

Enregistrement pour lancement par Supervisor

  • Copier le fichier de description ted.conf dans le répertoire de configuration de Supervisor :

    • Sur Debian/Ubuntu :

      # cp $TE_HOME/lib/supervisord/ted.conf /etc/supervisor/conf.d/ted.conf
      
    • Sur RedHat/CentOS :

      # cp $TE_HOME/lib/supervisord/ted.conf /etc/supervisor.d/ted.ini
      
  • Par défaut, ce fichier de services Supervisor est prévu pour un transformation-server installé dans /opt/transformation-server avec exécution des services sous l'utilisateur système te (c.f. TE_SERVER_USER) :

    • vérifier le répertoire des directives command pour correspondre à celui de votre répertoire d'installation ;
    • vérifier la directive user pour référencer l'utilisateur système sous lequel seront exécutés les services.
  • Activer le groupe de service ted :

# supervisorctl reread
# supervisorctl add ted

Démarrage/Arrêt des services TE

L'ensemble des services de transformation-server peuvent être contrôlés via le groupe ted:* qui contrôlera à son tour les différents sous-services (te-rendering-server, te-request-server, et te-tika-server).

  • Démarrer le groupe de services ted:* :
# supervisorctl start ted:\*
  • Pour arrêter les services :
# supervisorctl stop ted:\*
  • Pour redémarrer tous les services :
# supervisorctl restart ted:\*

Voir le statut des services

# supervisorctl status ted:\*

Vérification des moteurs de transformation (bin/ted check)

Le script bin/ted permet de lancer une vérification des moteurs de transformations. Pour cela, il faut démarrer le serveur, et ensuite exécuter la commande suivante :

# $TE_HOME/bin/ted check

* Checking conversion from ODT to PDF...
  Ok: '/tmp/test.odtn27155.pdf' (7957 bytes)

* Checking conversion from ODT to PDF/A-1...
  Ok: '/tmp/test.odtQ27176.pdfa' (14430 bytes)

* Checking conversion from ODT to TXT...
  Ok: '/tmp/test.odtu27199.txt' (22 bytes)

[etc.]

Nettoyage des répertoires de travail (bin/ted cleantmpfiles)

L'option cleantmpfiles permet de supprimer les répertoires de travail des transformation nommés te-tasks-*, présents dans le répertoire $TE_WORK_DIR et qui ont plus de 7 jours (valeur par défaut).

# $TE_HOME/bin/ted cleantmpfiles

Le paramètre de la fonction permet de spécifier une autre durée (exprimée en jours).

Exemple : suppression des fichiers temporaires de plus de 15 jours

# $TE_HOME/bin/ted cleantmpfiles 15

Pour effectuer un nettoyage régulièrement, vous pouvez placer l'exécution de cette commande dans une crontab ou bien utiliser le service et le timer systemd ted-cleantmpfiles :

  • Pour les système supportant les timers systemd :

    # systemctl enable ted-cleantmpfiles.timer
    # systemctl start ted-cleantmpfiles.timer
    
  • Pour les autres système, via une crontab :

    0 0 * * * * te /opt/transformation-server/bin/ted cleantmpfiles