Traitement parallèle dans les scripts<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />En cours de création d'un long script qui effectue des appels à des bases de données ODBC/SQL pouvant prendre plusieurs minutes à s'exécuter. Dans un monde idéal, je pourrais attendre que plusieurs serveurs me répondent en même temps. D'après ce que je comprends, je dois m'en tenir à exécuter une demande de base de données après l'autre?
J'utilise JMP 9.
Re : Traitement parallèle dans les scriptsJe n'ai jamais regardé ça. Merci!
Re : Traitement parallèle dans les scriptsJe pense qu'à partir de JMP 12, vous avez la possibilité d'exécuter des instructions SQL en arrière-plan. Accédez à l'index de script et recherchez SQL . Le dernier résultat de la recherche est Requête SQL . L'une des options est Exécuter l'arrière-plan .

Re : Traitement parallèle dans les scriptsVoici un type de méthode d'attente dans laquelle vous essayez d'adresser la table qui vous intéresse et attendez dans une boucle while jusqu'à ce qu'elle apparaisse. Vous pouvez exécuter ceci pour attraper la table lorsqu'elle est finalement générée. J'ai tiré une partie de ceci d'un autre poste. Supprimez les instructions d'impression si vous le souhaitez.
Essayer (
Tableau de données ( "Ma table" );
tableExiste = 1 ;
Imprimer ( "Il est apparu comme par magie !" );
,
tableExiste = 0 ;
Imprimer ( "Le tableau n'existe pas" );
);
Alors que ( !tableExiste,
Imprimer ( "Le tableau n'existe pas" );
Attendre ( 1 );
Essayer (
Tableau de données ( "Ma table" );
tableExiste = 1 ;
Imprimer ( "Il est apparu comme par magie !" );
,
tableExiste = 0 ;
Imprimer ( "Le tableau n'existe pas" );
);
);
Re : Traitement parallèle dans les scriptsSi JMP ne prend pas en charge plusieurs requêtes en même temps, ma première idée est de placer chaque requête dans un fichier JSL distinct, puis d'exécuter plusieurs instances de JMP.Une façon de procéder serait de lancer les fichiers JSL à partir d'un fichier .bat, car ceux-ci n'attendent pas la fin de la commande précédente pour lancer la suivante.Vous auriez alors juste besoin d'un script à la fin avec une sorte de fonction d'attente pour tester périodiquement si toute la sortie attendue existe avant de faire l'analyse finale des données et la représentation graphique.