Author: bleny Date: 2010-07-07 18:23:54 +0200 (Wed, 07 Jul 2010) New Revision: 100 Url: http://nuiton.org/repositories/revision/diswork/100 Log: config Modified: trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkConfig.java trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkDaemon.java trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/HttpFrontEnd.java trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/WorkersManager.java Modified: trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkConfig.java =================================================================== --- trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkConfig.java 2010-07-07 14:56:36 UTC (rev 99) +++ trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkConfig.java 2010-07-07 16:23:54 UTC (rev 100) @@ -82,11 +82,11 @@ * * For the http front-end : * <dl> - * <dt>diswork.httpfrontend.start</dt> + * <dt>diswork.http_front_end.start</dt> * <dd>"true" and the front end will start at diswork boot. Note that * the front-end can be started later even if this config directive is * at "false"</dd> - * <dt>diswork.httpfrontend.port</dt> + * <dt>diswork.http_front_end.port</dt> * <dd>the port to use for HTTP server. It means that the browser while * have to use this port to get connected to the front-end. Default * port is 8080.</dd> @@ -123,13 +123,19 @@ setDefaultOption("diswork.activity_strategy", "unlimited"); - // if no total_uptime saved, consider daemon has never run - setDefaultOption("diswork.total_uptime", "0"); + setOption("diswork.http_front_end.start", "true"); + setOption("diswork.http_front_end.port", "8080"); + + setFileSystemConfig(DisworkFileSystemConfig.newKademliaDisworkConfig()); + + + - setOption("diswork.httpfrontend.start", "true"); - setOption("diswork.httpfrontend.port", "8080"); - setFileSystemConfig(DisworkFileSystemConfig.newKademliaDisworkConfig()); + // init data never initialized + setDefaultOption("diswork.total_uptime", "0"); + setDefaultOption("diswork.number_of_jobs_done", "0"); + setDefaultOption("diswork.number_of_jobs_submitted", "0"); } @@ -277,12 +283,19 @@ /* ** those config data are not set by the user but computed by daemon ** */ + // FIXME 20100607 bleny its not config data, it should be moved to a persistent file + + protected void save() { + // saveForUser(null); + } + protected String getOwnerId() { return getOption("diswork.owner"); } protected void setOwnerId(String ownerId) { setOption("diswork.owner", ownerId); + save(); } protected Long getTotalUptime() { @@ -292,10 +305,12 @@ protected void setTotalUptime(Long upTime) { setOption("diswork.total_uptime", upTime.toString()); + save(); } protected void setFirstRunTime(Long time) { setOption("diswork.first_run_time", time.toString()); + save(); } protected Long getFirstRunTime() { @@ -303,6 +318,26 @@ return Long.parseLong(firstRunTime); } + protected void addOneJobDone() { + Integer newValue = getNumberOfJobsDone() + 1; + setOption("diswork.number_of_jobs_done", newValue.toString()); + save(); + } + + protected Integer getNumberOfJobsDone() { + return getOptionAsInt("diswork.number_of_jobs_done"); + } + + protected void addOneJobSubmitted() { + Integer newValue = getNumberOfJobsDone() + 1; + setOption("diswork.number_of_jobs_submitted", newValue.toString()); + save(); + } + + protected Integer getNumberOfJobsSubmitted() { + return getOptionAsInt("diswork.number_of_jobs_submitted"); + } + /* ** trivial applicationConfig setters and getters ** */ public String getTempDirectory() { @@ -358,18 +393,18 @@ } public Boolean getStartHttpFrontend() { - return getOptionAsBoolean("diswork.httpfrontend.start"); + return getOptionAsBoolean("diswork.http_front_end.start"); } public void setStartHttpFrontend(Boolean startHttpFrontend) { - setOption("diswork.httpfrontend.start", startHttpFrontend.toString()); + setOption("diswork.http_front_end.start", startHttpFrontend.toString()); } public Integer getHttpFrontendPort() { - return getOptionAsInt("diswork.httpfrontend.port"); + return getOptionAsInt("diswork.http_front_end.port"); } public void setHttpFrontendPort(Integer httpFrontendPort) { - setOption("diswork.httpfrontend.port", httpFrontendPort.toString()); + setOption("diswork.http_front_end.port", httpFrontendPort.toString()); } } Modified: trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkDaemon.java =================================================================== --- trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkDaemon.java 2010-07-07 14:56:36 UTC (rev 99) +++ trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/DisworkDaemon.java 2010-07-07 16:23:54 UTC (rev 100) @@ -28,6 +28,7 @@ import java.io.InputStream; import java.lang.management.ManagementFactory; import java.lang.management.OperatingSystemMXBean; +import java.text.NumberFormat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -565,6 +566,8 @@ } } + config.addOneJobSubmitted(); + log.info("job submited"); } catch (DisworkFileSystemException e) { @@ -700,17 +703,20 @@ } public Map<String, String> getLocalStats() throws DisworkException { + NumberFormat numberFormat = NumberFormat.getInstance(); + numberFormat.setMaximumFractionDigits(2); + Map<String, String> result = new HashMap<String, String>(); result.put("total_uptime", getTotalUptime().toString()); - result.put("uptime_ratio", getUptimeRatio().toString()); + result.put("uptime_ratio", numberFormat.format(getUptimeRatio())); // TODO 20100706 bleny compute number of jobs done, number of jobs submitted, ratio, - result.put("jobs_done", "?"); - result.put("jobs_submitted", "?"); + result.put("jobs_done", config.getNumberOfJobsDone().toString()); + result.put("jobs_submitted", config.getNumberOfJobsSubmitted().toString()); result.put("jobs_ratio", "?"); - - // TODO 20100706 bleny compute score - result.put("score", "0"); + + Double karma = (config.getNumberOfJobsDone() - config.getNumberOfJobsSubmitted()) * getUptimeRatio(); + result.put("karma", numberFormat.format(karma)); return result; } Modified: trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/HttpFrontEnd.java =================================================================== --- trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/HttpFrontEnd.java 2010-07-07 14:56:36 UTC (rev 99) +++ trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/HttpFrontEnd.java 2010-07-07 16:23:54 UTC (rev 100) @@ -68,6 +68,8 @@ } public class MainServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 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-07-07 14:56:36 UTC (rev 99) +++ trunk/diswork-daemon/src/main/java/org/nuiton/diswork/daemon/WorkersManager.java 2010-07-07 16:23:54 UTC (rev 100) @@ -167,7 +167,6 @@ * </ul> * * @author bleny - * */ protected class OutputReader extends Thread { @@ -225,8 +224,7 @@ log.warn("error while closing the output of the subprocess", e); } } - } - + } } /** @@ -503,6 +501,7 @@ String newDir = null; if (jobSuccess) { newDir = DisworkDaemon.DONE; + config.addOneJobDone(); } else { newDir = FAILED_MOVE.get(jobLinkDir); } @@ -519,7 +518,7 @@ log(newPath, "FINISHED"); } } else { - // job has been cancelled + // job has been canceled fileSystem.delete(jobPath); } } @@ -562,7 +561,8 @@ } } - public WorkersManager(DisworkFileSystem fileSystem, DisworkConfig config) throws DisworkException { + public WorkersManager(DisworkFileSystem fileSystem, DisworkConfig config) + throws DisworkException { this.fileSystem = fileSystem; this.config = config; @@ -640,18 +640,23 @@ return activityStrategy; } - public void setActivityStrategy(ActivityStrategy activityStrategy) throws DisworkException { + public void setActivityStrategy(ActivityStrategy activityStrategy) + throws DisworkException { this.activityStrategy = activityStrategy; log.info("swithching to " + activityStrategy); updateFlag(); } - public void setActivityStrategy(String activityStrategyLabel) throws DisworkException { - setActivityStrategy(ActivityStrategies.getNewInstance(config, activityStrategyLabel)); + public void setActivityStrategy(String activityStrategyLabel) + throws DisworkException { + setActivityStrategy(ActivityStrategies.getNewInstance + (config, activityStrategyLabel)); } - public void setActivityStrategy(ActivityStrategies activityStrategies) throws DisworkException { - setActivityStrategy(ActivityStrategies.getNewInstance(config, activityStrategies)); + public void setActivityStrategy(ActivityStrategies activityStrategies) + throws DisworkException { + setActivityStrategy(ActivityStrategies.getNewInstance + (config, activityStrategies)); } public void activeNoActivityStrategy() throws DisworkException {