/zpp_flow

Primary LanguagePythonMIT LicenseMIT

logo

Informations

Application pour permettre l'exécution de task ou de workflow basé sur des scripts Python. Un task représente un ensemble de fonction. Un flow représente un ensemble de fonction où la sortie de la fonction A devient les paramètres de la fonction suivante.

Prérequis

  • Python 3

Installation

pip install zpp_flow

Utilisation

config

La commande permet de lister les paramètres de configuration. Il est possible de les éditer en rajoutant le nom du paramètre et sa valeur à la commande

flow config PARAM_NAME VALUE

run

La commande permet d'exécuter une task ou un flow. Pour cela, il suffit de renseigner le nom de la task.

flow run TASK_NAME

En paramètre supplémentaire, il est possible d'utiliser:
--task pour filtrer sur les task
--flow pour filtrer sur les flow
--debug pour afficher la totalité des retour de code
--repeat INT pour répeter les actions à intervalles régulières. Par défaut l'intervalle est en seconde mais il est possible d'utiliser des clés de temps (m: minutes, h: heures, d: jours)
--starter HH:MM:SS pour démarrer la task à un moment précis (les secondes ne sont pas obligatoires)

list

La commande permet d'afficher la liste des task et flow disponibles.

flow list

info

La commande permet d'afficher les détails sur une task ou un flow spécifique.

flow info TASK_NAME

details

La commande permet d'afficher les détails pour l'ensemble des task et flow disponibles.

flow details

fabric

La commande permet d'ouvrir le répertoire de script

flow fabric

tree:

La commande permet d'afficher l'arborescence du répertoire de script

flow tree

pull:

La commande permet de récupérer un fichier depuis le répertoire de script

flow pull FILE_NAME

Il est possible de rajouter l'option --output pour préciser le chemin de sortie

push:

La commande permet d'envoyer un fichier dans le répertoire de script

flow push FILE_NAME

Il est possible de rajouter l'option --folder pour préciser le répertoire de destination

pop:

La commande permet de supprimer un script du répertoire de script

flow pop FILE_NAME

Création de script

Pour être pris en compte par l'application, les scripts doivent une certaine syntaxe. Chaque fonction est indépendante de base et doit avoir un décorateur @zpp_flow.task ou @zpp_flow.flow Le décorateur peut contenir plusieurs paramètres comme name pour définir le nom de la task ou order pour définir l'ordre d'exécution.

import zpp_flow

@zpp_flow.task
def hello_world():
	print("Bonjour je suis une task")

Dans une fonction, il est possible de définir des arguments qui pourront être utilisés dans le reste du flow

from zpp_flow.core.runner import set_persist

set_persist(argument, value)