Ordonnanceur externe (automate)

De Wiki1000
(Différences entre les versions)
(Déclencher la tâche)
(Récupérer le résultat)
Ligne 63 : Ligne 63 :
  
 
==Récupérer le résultat==
 
==Récupérer le résultat==
 +
La récupération du résultat est forcément asynchrone.
 +
 +
L'ordonnanceur doit réaliser un GET sur le flux REST du journal de l'automate :
 +
 +
<pre>
 +
# This is because my test server certificate is self signed
 +
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
 +
 +
# line has been splitted for formatting
 +
Invoke-WebRequest -Uri https://pc100301/sdata/admin/schedulerLogs?where=jobID%20eq%20 2
 +
-Headers @{"Authorization"="Bearer 16000000C20E570115009001F700000022A2.............670582A44094EE57C02A4F71F"}  -Method GET
 +
</pre>
 +
 +
Le résultat contient le compte rendu d'exécution.
 +
 +
Une seconde requête peut être réalisée pour récupérer le résultat détaillé de la tâche de traitement :
 +
 +
<pre>
 +
</pre>
  
 
[[category:Automate]]
 
[[category:Automate]]
 
[[category:Latest]]
 
[[category:Latest]]

Version du 4 mai 2015 à 18:06

versionlatest-32x32.png

Sommaire

Il est possible d'utiliser un ordonnanceur externe pour déclencher des tâches à partir d'un automate métier.

Principe

Ext-scheduler.jpg

  • 1. L'ordonnanceur POST un message sur le service 1000
  • 2. Le message est empilé dans une file d'attente
  • 3. L'automate est déclenché
  • 4. Le message est dépilé
  • 6. Le traitement est exécuté
  • 8. Le résultat est stocké dans le journal de l'automate
  • 9. L'ordonnanceur effectue un GET sur le service REST du journal de l'automate
  • 10. L'ordonnanceur obtient le résultat du traitement

Pour pouvoir interroger le service 1000 et obtenir le résultat du traitement un identifiant de traitement est véhiculé dans le message de traitement, cet identifiant sera stocké dans le journal et utilisé comme clé pour obtenir le résultat.

Près requis

Ordonnanceur

L'ordonnanceur doit être capable de :

  • Poster un message REST sur serveur HTTP.
  • Interroger un service REST pour retrouver le compte rendu d'exécution.

Si l’ordonnanceur n'est pas capable d'exécuter des actions HTTP vous pouvez réaliser ces actions en PowerShell et les exécuter par l'ordonnanceur.

Service 1000

Ce type de fonctionnement est décrit dans cet exemple.

Déclencher la tâche

Le déclenchement de la tâche se fait en postant un message sur le service 1000

Exemple :

# prepare a payload with parameters
$postParams = @{
"message.action"="importdip"; 
"message.accessToken"="16000000C20E570115009001F700000...............670582A44094EE57C02A4F71F"; 
"message.jobID"="2";
"message.reference"="my reference";
"import.name"="testimport-wfclassea.dip"; 
"content"=$fileContentEncoded
}

# This is because my test server certificate is self signed
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }

# line has been splitted for formatting
Invoke-WebRequest -Uri https://xxxxx/xxx/server/rpc.l1000/rest/queue.inqueue?queueName=DBQUEUE1 
-Headers @{"Authorization"="Bearer 16000000C20E570115009001F700000022A.............44094EE57C02A4F71F"}  -Method POST -Body $postParams

Dans le message les champs libres suivant peuvent être utilisé comme identifiant du job :

  • message.jobID
Identifiant de job
  • message.reference
Référence libre

Récupérer le résultat

La récupération du résultat est forcément asynchrone.

L'ordonnanceur doit réaliser un GET sur le flux REST du journal de l'automate :

# This is because my test server certificate is self signed
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }

# line has been splitted for formatting
Invoke-WebRequest -Uri https://pc100301/sdata/admin/schedulerLogs?where=jobID%20eq%20 2 
-Headers @{"Authorization"="Bearer 16000000C20E570115009001F700000022A2.............670582A44094EE57C02A4F71F"}  -Method GET

Le résultat contient le compte rendu d'exécution.

Une seconde requête peut être réalisée pour récupérer le résultat détaillé de la tâche de traitement :






Whos here now:   Members 0   Guests 0   Bots & Crawlers 1
 
Outils personnels