Download the PHP package griiv/synchroengine without Composer
On this page you can find all versions of the php package griiv/synchroengine. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download griiv/synchroengine
More information about griiv/synchroengine
Files in griiv/synchroengine
Package synchroengine
Short Description Set of command and codes to create imports and exports
License
Informations about the package synchroengine
Griiv Synchro Engine
Le module de synchro Griiv est utilisé pour créer des flux d'import, export via des fichiers CSV, fichier texte, API Prestashop, BDD, API REST, etc...
Il permet également de traiter de gros volumes de données avec une parallélisation de plusieurs sous tâche pour traiter les données entrantes.
Par exemple un fichier CSV de 1 000 000 peut être traité via 100 sous taĉhes lancées en parallèle qui traite chacune 10 000 entrées de la source de donnée entrante
La librairie symfony/process
est utilisé pour faire cette parallélisation.
Commandes Symfony disponible
gsynchro:add-export
: Créer un exportgsynchro:add-import
: Créer un importgsynchro:add-sequence
: Créer une séquencegsynchro:create-ftp-folders
: Crée la structure des dossiers pour le ftpgsynchro:execute
: Lancer un import, un export ou une séquence
Utilisation pour la crontab notamment php bin/console gsynchro:execute MonImport
Configuration générale modules/griivsynchroengine/config/services.yml
gsynchro.importPath
: Chemin du ftp ou sont mis à disposition les fichiers à importergsynchro.importBackup
: Chemin du ftp ou sont sauvegardé les fichiers qui ont été importégsynchro.exportPath
: Chemin du ftp ou sont mis à disposition les fichiers pour les services externegsynchro.exportBackup
: Chemin du ftp ou sont sauvegardés les fichiers exportésgsynchro.logsPath
: Chemin du dossier qui contient les logsgsynchro.batchSynchro
: Chemin de l'executable PHP pour les sous tâches
Créer un Import
Pour créer un import :
Si la dossier n'existe pas à la racine du projet, d'abord lancer la commande php bin/console gsynchro:create-ftp-folders
Lancer la commande php bin/console gsynchro:add-import gsynchro Customers
Le fichier suivant est crée : _PS_ROOT_DIR_/modules/griivsynchroengine/src/Synchro/Import/CustomersImport.php
Pensez à faire un composer dumpautoload
dans votre module pour mettre à jour l'autoloading
Voici le contenu fichier crée :
La méthode initDataSources()
permet d'initialisé la ou les sources de données que l'on souhaite utilisé pour l'import (Fichier, Api, Requete BDD, etc)
La méthode initItemDefinition()
permet de définir la structure de la source de donnée, pour un fichier CSV par exemple cela va être le nom des colonnes du fichier traité
La méthode processRow()
cette méthode sera appelé pour traité un jeu de donnée source
Il est également possible pour chaque import de surcharger les méthodes suivantes :
initLogger()
: permet d'initialiser un logger pour l'import. De base un fichier de log est pour chaque import voir
Créer un Export
Les DataSources
Les DataTargets
Sous le capot
TODO
- [ ] Mise en place Validateur pour ItemProperty
- [ ] Mise en place des séquences
- [ ] Mise en place logrotate fichier de logs
- [ ] Mise en place backup file gzip après import (pour les fichiers)
- [ ] Rajouter des hooks pour Prestashop
- [ ] Mise en place rotate pour les fichiers dans.backup