Author: michiel
Date: 2009-12-01 21:01:40 +0100 (Tue, 01 Dec 2009)
New Revision: 40074

Modified:
   
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/JobCallable.java
   
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/TranscoderResult.java
Log:
moved waiting a bit, and added a loop

Modified: 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/JobCallable.java
===================================================================
--- 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/JobCallable.java
    2009-12-01 18:00:38 UTC (rev 40073)
+++ 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/JobCallable.java
    2009-12-01 20:01:40 UTC (rev 40074)
@@ -158,8 +158,6 @@
                     for (AnalyzerLogger al : analyzerLoggers) {
                         al.getAnalyzer().ready(thisJob.getNode(), 
result.getDestination());
                     }
-                    logger.debug("Analyzer ready, waiting 10 sec. to be sure 
filesystem is ready.....");
-                    thisJob.getThread().sleep(10000);
                     resultCount++;
                     result.ready();
                     logger.info("RESULT " + thisJob + "(" + 
thisJob.getNode().getNodeManager().getName() + ":" + 
thisJob.getNode().getNumber() + "):" + result);

Modified: 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/TranscoderResult.java
===================================================================
--- 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/TranscoderResult.java
       2009-12-01 18:00:38 UTC (rev 40073)
+++ 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/createcaches/TranscoderResult.java
       2009-12-01 20:01:40 UTC (rev 40074)
@@ -65,7 +65,18 @@
         super.ready();
         if (dest != null) {
             File outFile = new File(directory, 
dest.getStringValue("url").replace("/", File.separator));
-            LOG.info("Looking at: " + outFile);
+            LOG.debug("Looking at: " + outFile);
+            int count = 0;
+            while (!outFile.exists() || outFile.length() <1 && count < 20) {
+                LOG.service("Result ready but, but file " + outFile + 
(outFile.exists() ? "is too small" : "doesn't exists") + ".  Waiting 10 sec. to 
be sure filesystem is ready (" + count + ")");
+                try {
+                    Thread.currentThread().sleep(10000);
+                    count++;
+                } catch (InterruptedException ie) {
+                    LOG.info("Interrupted");
+                    return;
+                }
+            }
             dest.setLongValue("filesize", outFile.length());
             if (outFile.length() >= 1) {     // @TODO: there should maybe be 
other ways to detect if a transcoding failed
                 dest.setIntValue("state", State.DONE.getValue());

_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to