Exemple d'installation

Le guide ci-dessous détaille un exemple d'installation de l'application Symfony WorkersCore avec activation de la fonctionnalité ExtendedSmartField.

Prérequis

  • php >= 8.1
  • sqlite >= 3.34
  • libpq-dev >= 13.10 et le driver pdo_pgsql

Télécharger et décompresser l'archive

Installons le paquet @anakeen/workers à l'aide de la commande :

npx @anakeen/anakeen-platform install --flavour custom --cwd .

Décompressons l'archive qui nous intéresse node_modules/@anakeen/workers/zip/workers-core-x.x.x.zip.

unzip node_modules/@anakeen/workers/zip/workers-core-x.x.x.zip -d /ank-workers

Configuration

Les workers ont besoin d'un jeton HTTP pour communiquer de manière sécurisée avec AP4. Lançons la commande suivante au niveau d'AP4 :

./ank.php --script=generateWorkerToken --feature=ExtendedSmartField

### résultat ###
[ExtendedSmartField] Token generated.
abcdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Rendons-nous dans le répertoire d'installation de l'application WorkersCore :

cd /ank-workers/workers

Renseignons le token et les variables d'environnement nécessaires dans un nouveau fichier .env.local :

FEATURES=ExtendedSmartField
AP4_DOMAIN=http://localhost:8023 # à remplacer par votre domaine AP4
TOKEN_EXTENDEDSMARTFIELD=abcdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Vérifions notre configuration :

php bin/console status

### résultat ###
Features
--------

┌────────────────────┬─────────┬───────┐
│ Feature            │ Enabled │ Ready │
├────────────────────┼─────────┼───────┤
│ DashboardETL       │ false   │   -   │
│ ExtendedSmartField │ truetrue  │
└────────────────────┴─────────┴───────┘

Environment variables
---------------------

 // Environment variables properly defined

Initialiser le contexte

Avant de déployer les workers, initialisons le contexte :

php bin/console context:init

Lancement des services

  1. Générons un exemple de fichiers de configuration :

    php bin/console conf:generate --pcs=systemd
    
  2. Ajustons le nombre de workers dans ank-workers.service :



     









    [Unit]
    Description=ank-workers target
    Requires=esf-worker@1.service esf-worker@2.service esf-worker@3.service esf-worker@4.service esf-worker@5.service
    
    [Service]
    ExecStart=/bin/true
    ExecReload=/bin/true
    RemainAfterExit=on
    
    [Install]
    WantedBy=multi-user.target
    

    Informations

    Le nombre préconisé de workers est disponible ici.

  3. Copions ces fichiers dans le répertoire de configuration de systemd et activons les services :

    cp *.service /usr/lib/systemd/system/
    systemctl enable ank-workers
    

Il ne reste plus qu'à démarrer la target principale :

systemctl start ank-workers