Question
· Nov 28, 2023

Problème de création de production avec IRIS PEX

Bonjour,

Je suis actuellement le projet d'auto-formation de @Guillaume Rongier pour faire du 100% Python sur InterSystems, j'ai suivi les étapes une par une cependant, lorsqu'il s'agit de créer une production, cela ne marche pas. Voici mon erreur:

iop --migrate /home/irisowner/dev/src/settings.py
Traceback (most recent call last):
  File "/home/irisowner/.local/bin/iop", line 8, in <module>
    sys.exit(main())
  File "/home/irisowner/.local/lib/python3.10/site-packages/grongier/pex/_cli.py", line 97, in main
    _Utils.migrate(args.migrate)
  File "/home/irisowner/.local/lib/python3.10/site-packages/grongier/pex/_utils.py", line 202, in migrate
    _Utils.set_productions_settings(settings.PRODUCTIONS,path)
  File "/home/irisowner/.local/lib/python3.10/site-packages/grongier/pex/_utils.py", line 268, in set_productions_settings
    _Utils.register_production(production_name,xml)
  File "/home/irisowner/.local/lib/python3.10/site-packages/grongier/pex/_utils.py", line 331, in register_production
    _Utils.raise_on_error(iris.cls('Grongier.PEX.Utils').CreateProduction(package,production_name,stream))
  File "/home/irisowner/.local/lib/python3.10/site-packages/grongier/pex/_utils.py", line 17, in raise_on_error
    raise RuntimeError(iris.system.Status.GetOneStatusText(sc))
RuntimeError: Invalid Production
  > ERROR #5090: An error has occurred while creating projection MyIRIS.Production:Production.

J'ai utilisé le projet dans lequel nous avons déjà tout créé dans mon entreprise (en local pour éviter de casser la production). Et pour être certain de n'avoir aucun problème, je veux faire mes tests sur le namespace "TEST" déjà créé pour l'occasion.

 

Voici mon settings.py situé ici : ./src/settings.py

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",
                }
            ]
        }
    }
]

 

Ma classe est située ici : ./src/TEST/bo.py

from grongier.pex import BusinessOperation

class MyBo(BusinessOperation):
    def on_message(self, request):
        self.log_info("Hello World")

J'ai aussi effectué un iop --init au départ pour compiler les fichiers python.

Version du produit: IRIS 2023.1
$ZV: IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2023.1.1 (Build 380U) Fri Jul 7 2023 23:53:46 EDT [Health:5.1.0-1.m1]
Discussion (1)1
Connectez-vous ou inscrivez-vous pour continuer