Frappe Framework
Services en arrière-plan
Le site a besoin de services système et de processus Frappe : serveur web, workers Redis et planificateur.
Deux familles
Un environnement Frappe actif fait tourner des services système et des processus Frappe. Les services système, en plus de la base choisie et de Redis, dépendent de l’architecture de déploiement. Les processus Frappe sont décrits dans le Procfile en développement, et dans config/supervisor.conf en production.
Processus système
Ils sont gérés au niveau du système. Bench, ou un autre outil de déploiement Frappe, peut préparer leur configuration.
- MariaDB ou PostgreSQL, la base ;
- Redis, files des workers et cache ;
- NGINX, reverse proxy en production ;
- Supervisor, gestion des processus pour une production bench hors conteneur.
Processus Frappe
Ils peuvent être lancés à la main ou par un gestionnaire de processus. Ils sont définis dans le code de Frappe.
| Processus | Rôle |
|---|---|
| Serveur WSGI | Répond aux requêtes HTTP. En développement, bench serve ou bench start lancent Werkzeug. En production, Bench utilise Gunicorn, configuré dans Supervisor. |
| Workers Redis | Exécutent les tâches de fond. Démarrés par bench start, ou par Supervisor en production. |
| Planificateur | Planifie la mise en file des tâches prévues. Même mode de démarrage que les workers. |
Point d’attention
NGINX et Supervisor sont liés au déploiement de production décrit ici, pas au simple bench start. Le détail des lignes du Procfile est sur la page du Procfile.
