1.Introduction

Ce guide va vous permettre d’administrer vos Myddleware.
Nous allons premièrement détailler tous les job que vous devez mettre en place pour faire fonctionner Myddleware. Puis nous vous expliquerons comment gérer les erreurs de transfert de données.

2.Création d'utilisateur

Un utilisateur admin est automatiquement créé lors de l’installation de Myddleware. Vous pouvez créer d’autres utilisateurs si d’autres personnes ont besoin de se connecter à Myddleware. Ainsi vous pourrez savoir qui a créé une règle par exemple.

Pour l’instant la création de user se fait par ligne de commande mais il sera très prochainement possible de la faire directement dans Myddleware par un user admin.

Pour créer un user, lancer la commande suivante via un invité de commande :
Créez le profil utilisateur pour vous connecter à Myddleware. Changez les valeurs myddleware_username, myddleware_user_email, myddleware_password selon le user que vous souhaitez créer :

  • php app/console fos: utilisateur: create myddleware_username myddleware_user_email myddleware_password –env = prod

Si vous souhaitez ajoute le rôle d’administrateur à l’utilisateur que vous venez de créer, lancez cette commande :

  • php app/console fos: utilisateur:promote myddleware_username ROLE_ADMIN –env = prod

3.Configuration envoi email

Myddleware peut vous envoyer des notifications et des alertes en fonction des tâches planifiées que vous avez mis en place (voir chapitre sur les tâche planifiées). En effet il est nécessaire d’avoir correctement configuré l’envoi d’email pour faire fonctionner la tâche “notification” correctement.

 

Il sera bientôt possible de configurer les paramètres d’envoi d’email directement dans Myddleware. Un envoi de test sera également disponible afin de valider les paramètres. Cette fonctionnalité n’étant pas encore développée, la configuration de l’envoi d’email se fait dans le fichier myddleware/app/config/parameters.yml :.

4.Gestion des erreurs

Les transferts de données sont parfois erronés pour diverses raisons. Voici quelques-uns :

  • La solution où les données sont envoyées n’est plus disponible,
  • Les données envoyées ne sont pas correctes (email invalide par exemple),
  • Un transfert de données parent est erroné (nous bloquons l’envoi d’une commande si le client n’a pas pu être créé)

Lorsqu’un transfert de données est en erreur, il peut être relancé automatiquement via le job rerunerror (voir tâche planifiée). Mais il peut aussi être relancé manuellement en cliquant sur «Reload»

Vous pouvez également annuler un transfert de données.

Il est également possible de modifier les données à envoyer directement dans Myddleware même s’il est recommandé de toujours modifier les données dans la solution source. Ainsi, lorsqu’un transfert de données est erroné, vous pouvez double-cliquer sur les données à envoyer et les modifier:

 

Il suffit ensuite de relancer le transfert de données pour envoyer les données modifiées.

5.Tâches planifiées

Myddleware peut travailler avec des tâches en arrière-plan tout en synchronisant vos données, envoyant des notifications, nettoyant des données, et plus encore.

Si vous souhaitez effectuer ce genre d’actions en simultané, vous devrez configurer quelques tâches d’arrière-plan en utilisant le crontab.

Avant de créer la tâche cron, assurez-vous que votre configuration est correcte, ouvrez un shell de commande et exécutez le programme check.php dans l’application directory: php app / check.php

contab_1

Changez votre permission de fichier ou configuration de PHP en cas d’erreur d’autorisation ou d’exigence de PHP manquante:

contab_2

Il ne vous reste qu’à mettre en place la tâche planifiée « jobScheduler » qui lancera toutes les autres tâches Myddleware :

  • cd <répertoire mydelware>; php app/console myddleware:jobScheduler --env=background

Cette tâche jobScheduler va lire la table JobScheduler et lancer les tâches en fonction des paramètres de cette table :

Nous attirons votre attention sur les colonnes suivantes :

  • period : c’est l’intervalle de temps correspondant à la fréquence d’exécution de cette tâche. Attention : la fréquence de la tâche planifiée doit être supérieure ou égale à la fréquence inscrite dans le champ period.
  • JobOrder : c’est l’ordre dans lequel les tâche seront exécutée. Les tâche avec le plus petit ordre seront exécutées en premières.
  • active : permet de désactiver une tâche planifiée

Nous allons détailler les différentes tâches dans les chapitres suivants qui vous permettront de remplir les autres colonnes.

5.1.Data Synchronization

The « sync » program will allow you to synchronize your data by launching all active rules :

  • Command : « sync »
  • paramName1 : sync
  • paramValue1 :You can set « ALL » to execute all active rules. You can also set the ID of a rule to launch only one rule.
  • paramName2 : leave empty
  • paramValue2 : leave empty

Only active rules will be launch:

5.2.Reloading errors

The scheduled task « rerunerror » reloads transfers in error automatically.

  • Command : « rerunerror »
  • paramName1 : limit
  • paramValue1 : the maximum number of data transfers that the job will attempt to reload.
  • paramName2 : attempt
  • paramValue2 : the maximum number of times a transfer will be reloaded

In the above example, we have configured 2 tasks of reloading errors:

  • The first takes 100 maximum data transfers once per hour (60 minutes). This job will only take data transfers that have been reloaded at most 5 times.
  • The second takes 100 data transfers maximum once a day (1440 minutes). This job will only take data transfers that have been reloaded a maximum of 10 times.

5.3.Errors notification

The sheduled task « notification » allows you to send notifications and alerts by email.

  • Command : « notification »
  • paramName1 : type or null. Si null alors des notification seront envoyée
  • paramValue1 : alert or null. If alert then sends an alert if a scheduled task is blocked
  • paramName2 :leave empty
  • paramValue2 : leave empty

In the above example, we have configured 2 tasks  :

  • The first checks every hour if a scheduled task is blocked. If yes, an email is sent to all administrators
  • The second one sends a notification every day to indicate the active rules, how much data transfer was processed in the day and what are the data transfer errors.

5.4.Data clearing

The scheduled task « cleardata » deletes all the empty or expired data in Myddleware.

  • Command : « cleardata »
  • paramName1 : leave empty
  • paramValue1 : leave empty
  • paramName2 : leave empty
  • paramValue2 : leave empty

In the above example, we have configured a task that deletes empty or expired data in Myddleware :

  • Empty data correspond :
    • to data transfer logs that carries important information and are older than 7 days
    • to task that have not performed any data transfer and are older than 7 days.
  • the expired data corresponds to the data transfers that have exceeded their validated date set in each rule.

  • Once the data has been cleaned up, all that remains are the IDs on the data transfers and the important logs (the log of creation, sending and possible errors) :

6.Myddleware shutdown

It can happen that your server stops or that your http service (apache for example) or MySQL encounters a problem. In these cases, Myddleware may be interrupted while it is running. Here’s how to make sure that Myddleware restarts properly once your server is restarted.

  • Check if Myddleware had a job in progress during the interruption
    • To do this, click on the list of tasks in Myddleware and check if a task is running and its start date is before the interruption:

  • Stop the task that could not be completed
  • If you have checked that a current job has a pre-interrupt start, this task will never stop automatically and will block the operation of Myddleware. It is therefore necessary to open this task and stop it:

Once the task is stopped, it will no longer block Myddleware, which will be able to function normally again.

Suggérer  de  modifier