SR_CPUMP

sr_shovel en C

Manual section:

1

Date:

May 15, 2024

Version:

UNKNOWN

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) 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 - traite les messages shovel.

sr3 winnow - 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), pour couper les messages de sr3_post(1), sr3 poll(1) ou sr3 watch (1) 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) 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) - Interface de ligne de commande principale de Sarracenia.

sr3_post(1) - publication des annonces de fichiers (implémentation Python.)

sr3_cpost(1) - publication des annonces de fichiers (implémentation C.)

Formats:

sr3_credentials(7) - le format des informations d’authentification.

sr3_options(7) - liste de toute les options dans la langue de configuration.

sr3_post(7) - le format des annonces

Page d’acceuil:

https://metpx.github.io/sarracenia - Sarracenia: une boîte à outils de gestion du partage de données pub/sub en temps réel