def _monitorCurrentRecording(self,recProcess,recordingJob):
     done = False
     #this is testing:
     emergencyCount=0;
     
     jobID=recordingJob.getEPGInfo().getJobID()
     isRecurrentWriteError=False
     recPath = self._config.getRecordingPath()
     videoSize=OSTools.getDirectorySize(recPath)
     xtime.sleep(self.HEARTBEAT)
     self._log("Monitoring JOB "+jobID)
     while not done:
         result = recProcess.poll()
         isAlive = result is None
         if isAlive:
             currentSize = OSTools.getDirectorySize(recPath)
             delta = currentSize - videoSize
             print(("JOB "+jobID+" - bytes written:"+str(delta))) #live sign- not logging
             videoSize = currentSize
             if delta == 0:
                 self._log("JOB "+jobID+" does not write any data")
                 if isRecurrentWriteError:
                     done=True
                     self._log("Terminating Rec process, preventing reschedule.. ")
                     recProcess.terminate()
                     self.__handleProcessTermination(recProcess)
                 isRecurrentWriteError=True #only on retry permitted
         else:
             self._log("Quit JOB "+jobID)
             self.__handleProcessTermination(recProcess)
             done=True
             
         if not done:
             #Ensure that an adjacent job can follow - decrease the wait time
             gludu=recordingJob.getGluedDurance()
             endtime = OSTools.addToDateTime(recordingJob.getExecutionTime(),gludu)
             delta = max(10,OSTools.getDifferenceInSeconds(endtime,datetime.now()))
             sleepTime = min(self.HEARTBEAT,delta)
             if sleepTime != self.HEARTBEAT:
                 emergencyCount+=1;
                 endTimeString=endtime.strftime("%H:%M.%S")
                 startTimeString = recordingJob.getExecutionTime().strftime("%H:%M.%S")
                 self._log("Stopping in seconds: %d (Info Start: %s expected end: %s with dur %d)"%(sleepTime,startTimeString,endTimeString,gludu))#log only the fragments
                 if emergencyCount > 10:
                     self._log("REC Q error- force process termination")
                     recProcess.terminate()
                     self.__handleProcessTermination(recProcess)
                     done=True
             xtime.sleep(sleepTime)
             
     self._log("JOB "+jobID+" is done")
     OSTools.syncFiles()