Question Cyril Grosjean · Nov 29, 2023

Comment migrer les classes dans des autres namespaces avec Embedded Python?

Cette question est apparue à l'origine dans les commentaires du post : Problème de création de production avec IRIS PEX
 

Salut,

Merci pour l'info, ça compile bien, cependant je ne retrouve pas la classe MyBo dans les Business Operations: 

As-tu une idée ?

Comments

Guillaume Rongier · Nov 28, 2023

es tu sur le bon serveur, bon namespace, car si paas d'erreur la classe a bien été migrée, maintenant c'est trouver où ?

0
Cyril Grosjean  Nov 28, 2023 to Guillaume Rongier

Alors j'ai trouvé, il m'a mis dans le namespace USER, cependant, je voudrais qu'il soit dans le namespace TEST comment faire ? Je pense qu'il a prit le namespace par défaut.

En faisant la commande iris session IRIS sur mon terminal, j'accède au namespace USER par défaut.

0
Cyril Grosjean  Nov 28, 2023 to Guillaume Rongier

Ah mais dans le cas où on a plusieurs namespaces et qu'on veut déployer des productions sur des différents namespaces ça ne sera pas possible du coup ?

Nous avons une production par namespace actuellement, pour un total de 17 productions (et namespaces), devoir tout mettre sur le même namespace même si c'est faisable, ça ne sera pas toléré par mon entreprise malheureusement.

0
Guillaume Rongier  Nov 28, 2023 to Guillaume Rongier

Si tu peux changer de namespace quand tu le souhaites pour ca deux facons :

  • avant d'executer iop tu changes la variable d'environnement IRISNAMESPACE.
export IRISNAMESPACE=TEST
iop -m path/to/my_settings.py
  • dans ton fichier my_settings.py tu peux changer le namespace avec la fonction suivante :
import iris
# switch namespace to the TEST namespace
iris.system.Process.SetNamespace("TEST")

# print the current namespace
print(iris.system.Process.NameSpace())

from TEST.bo import MyBo

CLASSES = {
    "MyIRIS.MyBo": MyBo
}

PRODUCTIONS = [
    {
        "MyIRIS.Production": {
            "@TestingEnable": "true",
            "@Name": "MyIRIS.Production",
            "Item": [
                {
                    "@Name": "Instance.Of.MyBo",
                    "@ClassName": "MyIRIS.MyBo",
                }
            ]
        }
    }
]
0
Cyril Grosjean  Nov 28, 2023 to Guillaume Rongier

La deuxième option est pas mal, comme ça on peut créer un fichier settings par namespace et pouvoir automatiser le tout.

Merci !

0