Activsoft.Workflow.Batch

Utilisation

Le batch permet d’effectuer les opérations suivantes :

  • Exécution d’une opération seule
  • Ecouter une queue de message RabbitMQ et exécuter les actions présentes
  • Récupérer la liste des actions dans une table SQL et exécuter les actions
  • Envoyer une opération dans une queue de message

Il peut donc être la base d’un service

Configuration

La configuration du batch demande surtout la mise en place de la section de configuration manager pour la configuration du moteur de workflow (voir ici).

Dans le cas d’une écoute ou d’un envoi sur une queue de message, il faut également ajouter la section queueInfo (NameValueCollection) avec les paramètres suivants :

  • Host : localisation de la queue
  • UserName et Password : authentification
  • VirtualHost : nom de l’host virtuel RabbitMQ pour récupérer les messages.

Exécution

Exécution simple

Activsoft.Workflow.Batch -execution {nom du module}.{nom de l'exécution} {nom param1} {valeur param1} {nom param2} {valeur param2} ...

Ecoute en base de données

Activsoft.Workflow.Batch -bdd {nom de la section db} -tablename {nom de la table} -descriptionname {nom de la colonne de descripion} {stop|continue}

L’application récupère les demandes dans la table {nom de la table} :

  • ID : SERIAL
  • STATUT : 0 ou NULL en attente de lancement, 1 en cours, 2 fini, -1 erreur
  • ERREUR : message et stack trace de l’erreur
  • {descriptionname} : JSON de description de la commande

La DESCRIPTION est au format suivant :

{
  "executionName": "{nom du module}.{nom de l'exécution}",
  "parameters": {
    "{nom du paramètre}": "{valeur du paramètre}", ...
  }
}

Si le paramètre est stop, l’exécution s’arrête après une lecture de la base, sinon le batch continue

Ecoute d’une queue de message

Activsoft.Workflow.Batch -listento {stop|continue}

Si le paramètre est stop, l’exécution s’arrête après une lecture de la queue, sinon le batch continue

Envoi sur la queue de message

Activsoft.Workflow.Batch -sendto {nom du module}.{nom de l'exécution} {nom param1} {valeur param1} {nom param2} {valeur param2} ...

Laisser un commentaire0

Your email address will not be published. Required fields are marked *