Author: chatellier Date: 2009-12-04 16:54:18 +0000 (Fri, 04 Dec 2009) New Revision: 2799 Modified: isis-fish/trunk/changelog.txt isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigAction.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigUI.jaxx isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties Log: Add option to control number of SSH thread to use Modified: isis-fish/trunk/changelog.txt =================================================================== --- isis-fish/trunk/changelog.txt 2009-12-04 16:00:18 UTC (rev 2798) +++ isis-fish/trunk/changelog.txt 2009-12-04 16:54:18 UTC (rev 2799) @@ -1,6 +1,7 @@ isis-fish (3.3.0.0) stable; urgency=low - * Add slipt pane between queued and done simulations tables + * Add option to control number of SSH thread to use + * Add split pane between queued and done simulations tables * Add free space actions on caparmor configuration UI * Remove "isis-export" directory * Fix editor deactivation in input ui Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-12-04 16:00:18 UTC (rev 2798) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-12-04 16:54:18 UTC (rev 2799) @@ -499,7 +499,7 @@ * * @return time (in seconds) */ - public long getSimulatorSshControlCheckInterval() { + public int getSimulatorSshControlCheckInterval() { int result = getOptionAsInt(Option.SIMULATOR_SSH_CONTROLCHECKINTERVAL.key); return result; } @@ -509,11 +509,31 @@ * * @param interval interval */ - public void setSimulatorSshControlCheckInterval(long interval) { + public void setSimulatorSshControlCheckInterval(int interval) { setOption(Option.SIMULATOR_SSH_CONTROLCHECKINTERVAL.key, String.valueOf(interval)); } + + /** + * Retourne le nombre de thread simultane a utiliser par le pool de thread + * du launcher SSH. + * + * @return number of thread to use + */ + public int getSimulatorSshMaxThreads() { + int result = getOptionAsInt(Option.SIMULATOR_SSH_MAXTHREADS.key); + return result; + } /** + * Set number of ssh simulation thread to use. + * + * @param max max + */ + public void setSimulatorSshMaxThreads(int max) { + setOption(Option.SIMULATOR_SSH_MAXTHREADS.key, String.valueOf(max)); + } + + /** * Retourne la clé privée de l'utilisteur courant. * * @return private ssh key path @@ -902,6 +922,8 @@ SIMULATOR_SSH_PBSBINPATH("simulation.ssh.pbsbinpath", _("isisfish.config.main.simulation.ssh.pbsbinpath.description"), "/usr/pbs/bin"), /** Serveur accessible par SSH : interval de check du fichier de control */ SIMULATOR_SSH_CONTROLCHECKINTERVAL("simulation.ssh.control.check.interval", _("isisfish.config.main.simulation.ssh.control.check.interval.description"), "120"), + /** Serveur accessible par SSH : nombre de thread au maximum a utilise simultanement */ + SIMULATOR_SSH_MAXTHREADS("simulation.ssh.max.threads", _("isisfish.config.main.simulation.ssh.max.threads.description"), "1"), LOCALE("locale", _("isisfish.config.main.locale.description"), "fr_FR"), // REGION_MAP("regionMap", _("isisfish.config.main.regionMap.description"), "maps"), Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-12-04 16:00:18 UTC (rev 2798) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-12-04 16:54:18 UTC (rev 2799) @@ -155,10 +155,16 @@ @Override public int maxSimulationThread() { - // FIXME pour toutes les envoyer // met le serveur les lance quand il veut + int maxSimulationThread = IsisFish.config.getSimulatorSshMaxThreads(); + + if (maxSimulationThread <= 0) { + // always set a minimun of 1 + maxSimulationThread = 1; + } - return 1; + return maxSimulationThread; + } /* @@ -169,7 +175,7 @@ // par defaut, pour ssh, on utilise 20 secondes - int interval = (int) IsisFish.config.getSimulatorSshControlCheckInterval(); + int interval = IsisFish.config.getSimulatorSshControlCheckInterval(); return interval; } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigAction.java 2009-12-04 16:00:18 UTC (rev 2798) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigAction.java 2009-12-04 16:54:18 UTC (rev 2799) @@ -71,6 +71,7 @@ protected String currentSSHIsisHome; protected String currentSSHTempPath; protected String currentSSHPbsBinPath; + protected String currentSSHMaxThreads; protected String currentSSHControlInterval; /** @@ -99,6 +100,7 @@ configUI.getSshTemppathField().setText(IsisFish.config.getSimulatorSshTmpPath()); configUI.getSshPbsBinPathField().setText(IsisFish.config.getSimulatorSshPbsBinPath()); configUI.getSshControlIntervalField().setText(String.valueOf(IsisFish.config.getSimulatorSshControlCheckInterval())); + configUI.getSshMaxThreadsField().setText(String.valueOf(IsisFish.config.getSimulatorSshMaxThreads())); doCheck(); } @@ -180,6 +182,15 @@ setColor(false, configUI.getSshPbsBinPathField()); } + // currentSSHMaxThreads + currentSSHMaxThreads = configUI.getSshMaxThreadsField().getText().trim(); + if (!currentSSHMaxThreads.matches("\\d+")) { + setColor(true, configUI.getSshMaxThreadsField()); + } else { + setColor(false, configUI.getSshMaxThreadsField()); + } + + // currentSSHControlInterval currentSSHControlInterval = configUI.getSshControlIntervalField() .getText().trim(); if (!currentSSHControlInterval.matches("\\d+")) { @@ -203,7 +214,8 @@ IsisFish.config.setSimulatorSshIsisHome(currentSSHIsisHome); IsisFish.config.setSimulatorSshTmpPath(currentSSHTempPath); IsisFish.config.setSimulatorSshPbsBinPath(currentSSHPbsBinPath); - IsisFish.config.setSimulatorSshControlCheckInterval(Long.parseLong(currentSSHControlInterval)); + IsisFish.config.setSimulatorSshControlCheckInterval(Integer.parseInt(currentSSHControlInterval)); + IsisFish.config.setSimulatorSshMaxThreads(Integer.parseInt(currentSSHMaxThreads)); IsisFish.config.saveForUser(); configUI.dispose(); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigUI.jaxx 2009-12-04 16:00:18 UTC (rev 2798) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigUI.jaxx 2009-12-04 16:54:18 UTC (rev 2799) @@ -127,6 +127,17 @@ </row> <row fill='horizontal'> <cell> + <JLabel id='sshMaxThreadsLabel' text='isisfish.config.main.simulation.ssh.max.threads' + toolTipText='isisfish.config.main.simulation.ssh.max.threads.description' /> + </cell> + <cell> + <JTextField id='sshMaxThreadsField' + toolTipText='isisfish.config.main.simulation.ssh.max.threads.description' + onKeyReleased="getAction().doCheck()" /> + </cell> + </row> + <row fill='horizontal'> + <cell> <JLabel id='sshControlIntervalLabel' text='isisfish.config.main.simulation.ssh.control.check.interval' toolTipText='isisfish.config.main.simulation.ssh.control.check.interval.description' /> </cell> Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-12-04 16:00:18 UTC (rev 2798) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-12-04 16:54:18 UTC (rev 2799) @@ -172,6 +172,8 @@ isisfish.config.main.simulation.ssh.datapath.description=Isis-Fish database path isisfish.config.main.simulation.ssh.isis.home=Isis-Fish home isisfish.config.main.simulation.ssh.isis.home.description=Isis-Fish installation directory +isisfish.config.main.simulation.ssh.max.threads=SSH threads count +isisfish.config.main.simulation.ssh.max.threads.description=Number of simultaneous simulations to do throw SSH. Might only be usefull for analysis plans. Otherwise keep value at '1'. isisfish.config.main.simulation.ssh.pbsbinpath=PBS executables directory isisfish.config.main.simulation.ssh.pbsbinpath.description=PBS executables (qsub, qdel...) directory isisfish.config.main.simulation.ssh.server=Simulation server Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-12-04 16:00:18 UTC (rev 2798) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-12-04 16:54:18 UTC (rev 2799) @@ -172,6 +172,8 @@ isisfish.config.main.simulation.ssh.datapath.description=Emplacement de la base de donn\u00E9es (isis-database) isisfish.config.main.simulation.ssh.isis.home=Installation d'Isis-Fish isisfish.config.main.simulation.ssh.isis.home.description=Emplacement d'installation d'Isis-Fish sur le serveur +isisfish.config.main.simulation.ssh.max.threads=Nombre de thread SSH +isisfish.config.main.simulation.ssh.max.threads.description=Nombre de simulation simultan\u00E9e \u00E0 faire en SSH. Attention, ne doit \u00EAtre utilis\u00E9 que pour faire plusieurs plans d'analyse en m\u00EAme temps, sinon, laisser '1'. isisfish.config.main.simulation.ssh.pbsbinpath=Emplacement des executables PBS isisfish.config.main.simulation.ssh.pbsbinpath.description=Emplacement des commandes PBS (qsub, qdel...) sur le serveur isisfish.config.main.simulation.ssh.server=Serveur de simulation
participants (1)
-
chatellier@users.labs.libre-entreprise.org