r78 - in trunk: diswork-daemon diswork-daemon/src/main/java/org/nuiton/diswork/daemon diswork-fs/src/main/java/org/nuiton/diswork/fs diswork-fs/src/main/java/org/nuiton/diswork/fs/storage
Author: bleny Date: 2010-06-17 09:51:19 +0200 (Thu, 17 Jun 2010) New Revision: 78 Url: http://nuiton.org/repositories/revision/diswork/78 Log: DaemonRunner et SimpleClient Added: trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkSimpleClient.java Modified: trunk/diswork-daemon/ trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkDaemonRunner.java trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/JobDescription.java trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/WorkersManager.java trunk/diswork-fs/src/main/java/org/nuiton/diswork/fs/DisworkFileSystemConfig.java trunk/diswork-fs/src/main/java/org/nuiton/diswork/fs/storage/KademliaDisworkMap.java Property changes on: trunk/diswork-daemon ___________________________________________________________________ Modified: svn:ignore - target + target .classpath .settings Modified: trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkDaemonRunner.java =================================================================== --- trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkDaemonRunner.java 2010-06-16 16:02:13 UTC (rev 77) +++ trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkDaemonRunner.java 2010-06-17 07:51:19 UTC (rev 78) @@ -24,11 +24,9 @@ */ package org.nuiton.diswork.daemon; -import java.lang.management.ManagementFactory; -import java.lang.management.OperatingSystemMXBean; -import java.lang.management.RuntimeMXBean; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.diswork.fs.DisworkFileSystemConfig; /** * @@ -41,20 +39,18 @@ /** * @param args */ - public static void main(String[] args) { + public static void main(String[] args) throws Exception { - OperatingSystemMXBean os = ManagementFactory.getOperatingSystemMXBean(); - System.out.println(os.getArch()); - System.out.println(os.getAvailableProcessors()); - System.out.println(os.getName()); - System.out.println(os.getVersion()); - - RuntimeMXBean run = ManagementFactory.getRuntimeMXBean(); - System.out.println(run.getUptime()); - - // consider args - - // DisworkDaemon node = new DisworkDaemon(config); - + DisworkConfig config = new DisworkConfig(); + if (args.length == 0) { + config.setFileSystemConfig( + DisworkFileSystemConfig.newKademliaDisworkConfig()); + } else if (args.length == 2){ + config.setFileSystemConfig( + DisworkFileSystemConfig.newKademliaDisworkConfig(args[0], + Integer.parseInt(args[1]))); + } + config.setActivityStrategy("unlimited"); + DisworkDaemon daemon = new DisworkDaemon(config); } } Added: trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkSimpleClient.java =================================================================== --- trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkSimpleClient.java (rev 0) +++ trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkSimpleClient.java 2010-06-17 07:51:19 UTC (rev 78) @@ -0,0 +1,90 @@ +/* + * #%L + * Diswork daemon + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2010 CodeLutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * #L% + */ +package org.nuiton.diswork.daemon; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.util.Map; + +import org.apache.commons.io.IOUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.diswork.fs.DisworkFileSystemConfig; + +/** + * + * @author bleny + */ +public class DisworkSimpleClient { + + private static final Log log = LogFactory.getLog(DisworkSimpleClient.class); + + /** + * @param args + * @throws Exception + */ + public static void main(String[] args) throws Exception { + + DisworkConfig config = new DisworkConfig(); + config.setFileSystemConfig( + DisworkFileSystemConfig.newKademliaDisworkConfig(args[0], + Integer.parseInt(args[1]))); + config.setActivityStrategy("none"); + config.setUsedPort(30000); + DisworkDaemon daemon = new DisworkDaemon(config); + + // prompt the user to enter their name + + // open up standard input + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + String userEntry = ""; + do { + System.out.print("diswork: "); + userEntry = br.readLine(); + + if ("stats".equals(userEntry)) { + Map<String, Integer> stats = daemon.getGlobalStats(); + for (String key : stats.keySet()) { + System.out.println(key + " => " + stats.get(key)); + } + } else if (!"quit".equals(userEntry)) { + JobDescription job = new JobDescription(); + job.setStandardOutput("output.txt"); + job.addOutput("output.txt"); + job.setCommandLine(userEntry); + daemon.submitJob(job); + + while(! daemon.isFinished(job)) { + Thread.sleep(5 * 1000); + } + + System.out.println(IOUtils.toString(daemon.getResults(job).get("output.txt"))); + } + + } while (!userEntry.equals("quit")); + + } +} Modified: trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/JobDescription.java =================================================================== --- trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/JobDescription.java 2010-06-16 16:02:13 UTC (rev 77) +++ trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/JobDescription.java 2010-06-17 07:51:19 UTC (rev 78) @@ -294,7 +294,7 @@ jsdlNamespace); Element applicationName = application.getChild("ApplicationName", jsdlNamespace); - if (application != null) { + if (applicationName != null) { Element applicationVersion = application.getChild ("ApplicationVersion", jsdlNamespace); result.setApplication(applicationName.getText(), @@ -315,7 +315,7 @@ } Element output = POSIXApplication.getChild("Output", jsdlPosixNamespace); - if (input != null) { + if (output != null) { result.setStandardOutput(output.getText()); } Modified: trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/WorkersManager.java =================================================================== --- trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/WorkersManager.java 2010-06-16 16:02:13 UTC (rev 77) +++ trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/WorkersManager.java 2010-06-17 07:51:19 UTC (rev 78) @@ -194,10 +194,12 @@ // dump the standard output in a file String standardOutputFileName = jobDescription.getStandardOutput(); + log.info("standardOutputFileName is " + standardOutputFileName); if (standardOutputFileName != null) { - OutputStream output = new FileOutputStream( - new File(jobDir, standardOutputFileName)); - IOUtils.copy(job.getInputStream(), output); + File outputFile = new File(jobDir, standardOutputFileName); + OutputStream output = new FileOutputStream(outputFile); + log.info("writing standard output in " + outputFile); + IOUtils.copy(job.getInputStream(), output); } log.info("job returned " + exitValue); @@ -205,6 +207,7 @@ // output file staging for (String fileName : jobDescription.getStagingOutput()) { File localCopy = new File(jobDir, fileName); + // FIXME 20100616 bleny may not exists if job has fail InputStream localCopyStream = new FileInputStream(localCopy); String filePath = jobPath + "/" + fileName; Modified: trunk/diswork-fs/src/main/java/org/nuiton/diswork/fs/DisworkFileSystemConfig.java =================================================================== --- trunk/diswork-fs/src/main/java/org/nuiton/diswork/fs/DisworkFileSystemConfig.java 2010-06-16 16:02:13 UTC (rev 77) +++ trunk/diswork-fs/src/main/java/org/nuiton/diswork/fs/DisworkFileSystemConfig.java 2010-06-17 07:51:19 UTC (rev 78) @@ -181,14 +181,19 @@ public static DisworkFileSystemConfig newKademliaDisworkConfig (Integer bootstrapPort) { + return newKademliaDisworkConfig(getIp(), bootstrapPort); + } + + public static DisworkFileSystemConfig + newKademliaDisworkConfig (String bootstrapIp, + Integer bootstrapPort) { DisworkFileSystemConfig result = new DisworkFileSystemConfig(); String port = getPort().toString(); - String ip = getIp(); result.setOption("diswork.fs.map_type", "kademlia"); result.setOption("diswork.fs.use_port", port); if (bootstrapPort != null) { result.setOption("diswork.fs.bootstrap.port", bootstrapPort.toString()); - result.setOption("diswork.fs.bootstrap.ip", ip); + result.setOption("diswork.fs.bootstrap.ip", bootstrapIp); } return result; } Modified: trunk/diswork-fs/src/main/java/org/nuiton/diswork/fs/storage/KademliaDisworkMap.java =================================================================== --- trunk/diswork-fs/src/main/java/org/nuiton/diswork/fs/storage/KademliaDisworkMap.java 2010-06-16 16:02:13 UTC (rev 77) +++ trunk/diswork-fs/src/main/java/org/nuiton/diswork/fs/storage/KademliaDisworkMap.java 2010-06-17 07:51:19 UTC (rev 78) @@ -50,6 +50,7 @@ public KademliaDisworkMap(DisworkFileSystemConfig config) throws IOException { + log.info("booting on port " + config.getUsedPort()); kad = new Kademlia(Identifier.randomIdentifier(), config.getUsedPort()); if (config.getBootstrapIp() != null) {
participants (1)
-
bleny@users.nuiton.org