========== SR_CPUMP ========== ----------------- sr_shovel en C ----------------- :Manual section: 1 :Date: |today| :Version: |release| :Manual group: MetPX-Sarracenia SYNOPSIS ======== **sr_cpump** foreground|start|stop|restart|reload|status configfile **sr_cpump** cleanup|declare configfile DESCRIPTION =========== **sr_cpump** est une implémentation alternative du composant *shovel* de `sr3(1) <sr3.1.html>`_ avec quelques limites. - ne télécharge pas de données, ne fait que diffuser des publications. - fonctionne comme une seule instance (pas d'instances multiples). - ne supporte aucun plugin. - ne prend pas en charge vip pour une haute disponibilité. - différentes bibliothèques d'expressions régulières : POSIX vs python. - ne prend pas en charge les regex pour la commande strip (pas de regex non gourmand). Il peut donc agir comme un remplacement direct pour : `sr3 shovel <sr3.1.rst>`_ - traite les messages shovel. `sr3 winnow <sr3.1.rst>`_ - traite les messages winnow. L'implémentation C peut être plus facile à mettre à disposition dans des environnements spécialisés, comme le calcul haute performance, car il a beaucoup moins de dépendances que la version python. Il utilise également beaucoup moins de mémoire pour un rôle donné. Normalement la version python est recommandé, mais il y a des cas où l'utilisation de l'implémentation C est judicieuse. **sr_cpump** se connecte à un *courtier* (broker) (souvent le même que le courtier de publication) et s'abonne aux notifications d'intérêt. A la réception d'une annonce, il recherche sa **sum** dans son cache. S'il est trouvé, le fichier est déjà arrivé, la notification est donc ignorée. Si ce n'est pas le cas, le fichier est nouveau et la **sum** est ajoutée dans le cache et la notification est publiée. **sr_cpump** peut être utilisé, comme `sr3 winnow(1) <sr3.1.rst>`_, pour couper les messages de `sr3_post(1) <sr3_post.1.rst>`_, `sr3 poll(1) <sr3.1.rst>`_ ou `sr3 watch (1) <sr3.1.rst>`_ etc... Il est utilisé lorsqu'il y a plusieurs sources des mêmes données, de sorte que les clients ne téléchargent les données source qu'une seule fois à partir de la première source qui l'a posté. La commande **sr3_cpump** prend deux arguments: une action start|stop|restart|reload|status... (autodécrit) suivi d'un fichier de configuration. L'action **foreground** est utilisée lors du débogage d'une configuration, lorsque l'utilisateur veut exécuter le programme et son fichier de configuration de manière interactive... L'instance **foreground** n'est pas concerné par d'autres actions. L'utilisateur cesserait d'utiliser l'instance **foreground** en simplement <ctrl-c> sous linux ou utilisez d'autres moyens pour envoyer SIGINT ou SIGTERM au processus. Les actions **cleanup**, **declare**, peuvent être utilisées pour gérer les ressources sur le serveur rabbitmq. Les ressources sont soit des files d'attente, soit des échanges. **déclarer** crée les ressources. Les actions **ajouter**, **supprimer**, **modifier**, **lister**, **activer**, **désactiver** agissent sur les configurations. CONFIGURATION ============= En général, les options de ce composant sont décrites par la page `sr3_options(7) <sr3_options.7.html>`_ qui doit être lue en premier. Elle explique en détail la langue de configuration des options et comment trouver les paramètres des options. **REMARQUE**: La bibliothèque d'expressions régulières utilisée dans l'implémentation C est celle POSIX et la grammaire est légèrement différente de l'implémentation de python. Quelques ajustements peuvent être nécessaires. VARIABLES ENVIRONNEMENTALES =========================== Si la variable SR_CONFIG_EXAMPLES est définie, la directive *add* peut être utilisée pour copier des exemples dans le répertoire de l'utilisateur à des fins d'utilisation et/ou de personnalisation. Une entrée dans ~/.config/sarra/default.conf (créé via sr_subscribe edit default.conf ) pourrait être utilisé pour définir la variable:: declare env SR_CONFIG_EXAMPLES=/usr/lib/python3/dist-packages/sarra/examples La valeur doit être disponible à partir de la sortie d'une commande de liste à partir de l'implémentation python. VOIR AUSSI ========== **User Commands:** `sr3(1) <sr3.1.html>`_ - Interface de ligne de commande principale de Sarracenia. `sr3_post(1) <sr3_post.1.rst>`_ - publication des annonces de fichiers (implémentation Python.) `sr3_cpost(1) <sr3_cpost.1.html>`_ - publication des annonces de fichiers (implémentation C.) **Formats:** `sr3_credentials(7) <sr3_credentials.7.html>`_ - le format des informations d'authentification. `sr3_options(7) <sr3_options.7.html>`_ - liste de toute les options dans la langue de configuration. `sr3_post(7) <sr3_post.7.rst>`_ - le format des annonces **Page d'acceuil:** `https://metpx.github.io/sarracenia <https://metpx.github.io/sarracenia>`_ - Sarracenia: une boîte à outils de gestion du partage de données pub/sub en temps réel