GtfOrderRunner : Demande GTF

Permet de lancer une demande GTF (d'exécuter un traitement FME), d'en attendre ou non la fin et récupérer les informations de la demande.

Astuce

Des transformers personnalisés ont été développés pour récupérer les informations de l'itération et pour ajouter des données à la tâches qui seront disponibles pour la suite de l'itération.

Configuration

Paramètres

  • Projet FME (Obligatoire, Expression) : Traitement FME publié dans GTF à lancer.

  • Utilisateur (Obligatoire, Expression) : Utilisateur qui sera considéré comme propriétaire de la demande GTF

  • Attendre la fin (Obligatoire) : Détermine s'il faut attendre la fin de la demande pour poursuivre l'itération

  • Paramètres publiés : Paramètres publiés à passer au traitement FME sous forme d'objet clé/valeur

    • clé : nom du paramètre publié

    • valeur (Expression) : Valeur du paramètre publié

  • Priorité (Expression) : priorité à associer à la demande

  • Envoi de mail (Expression) : détermine s'il faut envoyer un mail à la fin et sous quel condition

  • Copie (Expression) : Adresse mail à mettre en copie du mail de fin de demande GTF

  • Date de planification (Expression) : permet de différer le lancement de la demande

Sortie

Modèle sortant

Le fait d'attendre ou non la fin du traitement changera la donnée qui sera utilisable dans l'itération.

Si l'actionneur est asynchrone alors la donnée sera très limitée :

{
  "GtfOrderRunner_X" : {
    "order" : {
      "pid" : 1,
      "order_id" : 1
    }
  }
}

Si l'actionneur est en mode synchrone :

{
  "GtfOrderRunner_X" : {
    "order" : {
      "pid": null,
      "attempt": 1,
      "deleted": false,
      "enabled": null,
      "log_url": "2023_04/v441akc3gfmvtula7gbp7lry5ulkrlji1f3o3eb1z/log/mon_traitement.log",
      "user_id": 1,
      "inbox_id": null,
      "order_id": 1,
      "condition": null,
      "period_id": null,
      "survey_id": null,
      "wk_params": "{\"param_1\":1,\"param_2\":\"8247\"}",
      "length_sec": 19,
      "order_date": "2023-04-18T09:10:57.035Z",
      "result_url": "2023_04/v441akc3gfmvtula7gbp7lry5ulkrlji1f3o3eb1z/result.zip",
      "stack_data": null,
      "wf_task_id": 1,
      "minexecdate": null,
      "priority_id": 1,
      "workspace_id": 1,
      "gtf_engine_id": 1,
      "execution_date": "2023-04-18T09:11:02.044Z",
      "email_option_id": 3,
      "order_status_id": 3,
      "execution_counter": 1,
      "execution_end_date": "2023-04-18T09:11:23.230Z",
      "email_notifications": null
    }
  }
}

En utilisant le Transformer personnalisé GTF_TaskDataSetter (ne fonctionnera qu'en mode synchrone) la donnée sera ajoutée dans l'itération dans la clé data :

{
  "GtfOrderRunner_X" : {
    "data" : {
      "ma_data" : "ça vient du traitement FME", 
      "..." : "..."
    },
    "order" : {
      "pid": null,
      "attempt": 1,
      "deleted": false,
      "enabled": null,
      "log_url": "2023_04/v441akc3gfmvtula7gbp7lry5ulkrlji1f3o3eb1z/log/mon_traitement.log",
      "user_id": 1,
      "inbox_id": null,
      "order_id": 1,
      "condition": null,
      "period_id": null,
      "survey_id": null,
      "wk_params": "{\"param_1\":1,\"param_2\":\"8247\"}",
      "length_sec": 19,
      "order_date": "2023-04-18T09:10:57.035Z",
      "result_url": "2023_04/v441akc3gfmvtula7gbp7lry5ulkrlji1f3o3eb1z/result.zip",
      "stack_data": null,
      "wf_task_id": 1,
      "minexecdate": null,
      "priority_id": 1,
      "workspace_id": 1,
      "gtf_engine_id": 1,
      "execution_date": "2023-04-18T09:11:02.044Z",
      "email_option_id": 3,
      "order_status_id": 3,
      "execution_counter": 1,
      "execution_end_date": "2023-04-18T09:11:23.230Z",
      "email_notifications": null
    }
  }
}

Astuce

GTF_TaskDataSetter merge la donnée de la tâche en base, vous pouvez donc définir cet objet en plusieurs fois dans votre traitement il ne sera pas écrasé sauf en cas de conflit de clé dans le json.