Merci, j'ai pas encore eu le temps d'essayer à nouveau pour le service snmpd, nous utilisons PRTG dans notre entreprise mais comme les messages en général d'InterSystems ne prennent pas en compte l'UTF-8, nous étions en train également de tester via une API pour savoir ce que l'on récupère mais aussi pour rendre plus lisible les informations.
Le statut des productions par exemple c'est: Arrêté mais depuis le SNMP, InterSystems renvoie: "ArrÃ@tÃ@"

Bonjour,

Merci de votre réponse, je vais essayer de faire en sorte que le fichier de config snmpd soit similaire à celui que vous avez envoyé pour voir si cela corrige le problème, car actuellement lorsque je regarde le statut du service après l'avoir normalement lancé, il est toujours considéré comme inactif.

Je reviens vers vous. Merci !

En poursuivant les tests, j'ai ouvert en UDP les ports 161 et 162 sur le docker d'InterSystems. Cependant j'ai toujours ce problème de timeout.

J'ai remarqué que j'avais cependant une erreur au bout d'environ 2 minutes après avoir activé le service monitor comme expliqué dans le post. Voici l'erreur :

J'en déduis qu'il n'arrive pas à ouvrir en TCP le port 705, cependant ce port est précisé et est bien ouvert dans mon docker compose. Je suis donc bloqué.

J'ai suivi ces informations sur la documentation d'InterSystems : https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...

Mais il est impossible pour moi de démarrer le service snmpd.

Un simple saut à la ligne a réglé mon souci, le script marche mais je suis confronté à un autre souci:

Le script n'est pas exécuté dans le job automatique sur Gitlab. Il y a un scp avant qui copie les fichiers contenus dans gitlab vers le serveur, puis la connexion ssh sur le screen.

J'ai bien vérifié sur le serveur si les fichiers étaient compilés, mais ils ne le sont pas. J'ai mis des pauses dans le script pour être sûr qu'il ne s'agit pas d'un problème de temps mais ce n'est pas le cas.

Je viens d'essayer, ça fonctionne cependant j'ai un petit soucis :

Mon fichier inputs.txt contient ceci:



Write "HI!"
halt

A savoir donc 2 lignes vides et les instructions.

Je n'ai pas enlevé l'accès en non authentifié pour la console afin de ne pas avoir à rentrer d'identifiants dans un fichier brut car cela ne sera pas toléré par l'entreprise.

Cependant, j'ai un problème sur l'output qui a l'air de faire n'importe quoi :

Dans mon script compile.bat je n'ai rien de plus que la ligne irissession IRIS -U TEST < inputs.txt. Cela me force donc à forcer l'arrêt pour éviter que ma console crash (et de la redémarrer car le prompt crash, ça ressemble fortement à un core dump)

Faut-il que ce script soit aussi encodé LF et non CRLF ? Est-ce qu'il manque une instruction pour éviter ce problème ? 

Malheureusement avec les modifications apportées, je suis toujours contraint à devoir entrer un nom d'utilisateur et un mot de passe (ne pas tenir compte de la saisie, ce ne sont pas les bons identifiants utilisés)

EDIT: Je viens de remarquer qu'en faisant 2 fois entrée sans mettre un user et un password, j'étais bien dans le terminal iris, mais j'ai toujours cette demande d'input que je dois bypass sur la CI/CD sur une connexion ssh sur un serveur windows

Bonjour @Guillaume Rongier 

Alors j'ai deux namespaces mais j'ai 2 fichiers distincts ayant la même fonction:

Class TEST.maclasse Extends %RegisteredObject
{
ClassMethod testPython() As %Status [ Language = python ]

{

    print("Ok")

}
}

ET

Class SUPPLYCHAIN.maclasse Extends %RegisteredObject
{
ClassMethod testPython() As %Status [ Language = python ]

{

    print("Ok")

}
}

Ces fichiers étaient créés avant de lancer le docker pour lancer iris. Ce docker compile automatiquement les fichiers dans les bons namespaces (SUPPLYCHAIN est le dossier pour le namespace SUPPLY_CHAIN et TEST est le dossier pour le namespace TEST).

Par la suite j'appelle via un terminal IRIS dans les bons namespaces, les méthodes:

TEST>do ##class(TEST.maclasse).testPython()
Ok

ET

SUPPLY_CHAIN>do ##class(SUPPLYCHAIN.maclasse).testPython()
<OBJECT DISPATCH> *python object not found

Après avoir posté ce matin ma question j'ai recherché de mon côté et il s'avère que lorsqu'on crée une nouvelle classe dans SUPPLY_CHAIN avec le même code et que je l'importe moi même, je retrouve ceci:

SUPPLY_CHAIN>do ##class(SUPPLYCHAIN.test.maclasse).testPython()
Ok

Alors en effet, le fichier du côté SUPPLY_CHAIN a une fonction OnProcessInput en ObjectScript mais en faisant vraiment un copier/coller du fichier, l'appel à la fonction python marche parfaitement, mais sur le fichier d'origine j'ai toujours un python object not found, c'est là où je pense que c'est un bug

En espérant vous avoir aidé à mieux comprendre,

Cordialement

Alors je viens de comprendre le problème, cependant je le trouve illogique. Je m'explique :

Les classes ont été crées avec de l'ObjectScript par défaut, puis cloné depuis gitlab et compilé sur un docker-compose, le fichier n'inclus pas python, cependant, lorsque je crée un nouveau fichier avec un nom de classe différent mais pourtant avec le même code ET une fonction en python, ça marche.

Je pense qu'il s'agit d'un bug

Bonjour,

Oui je change de namespace avant et le nom du package juste avant n'est plus TEST mais SUPPLYCHAIN :

do ##class(SUPPLYCHAIN.maclasse).testPython()

Sur le namespace TEST je l'appelle comme ceci :

do ##class(TEST.maclasse).testPython()

Evidemment, les deux fichiers existent et sont bien compilés 

Bonjour @Lorenzo Scalese,

Le problème de la commande iris runw c'est que nous allons éxecuter une classe dans un namespace, cependant, nous voulons à partir d'un script (ou de cette classe si c'est possible) compiler plusieurs fichiers cls provenant de répertoires précis sur la machine (pas importés dans InterSystems), dans des namespaces différents (plus d'une dizaine).

Nous avons pas mal de difficultés sur la compréhension de l'éxecution d'un script, pouvez-vous nous fournir plus de détails concernant runw ou même un exemple afin qu'on puisse voir comment changer de namespace et compiler.

Merci beaucoup !

Cyril

PS : Pour le script il s'agit d'un script réalisé en suivant cette page de la documentation : https://docs.intersystems.com/irisforhealth20232/csp/docbook/DocBook.UI....