##// END OF EJS Templates
Se agrega el metodo waitNewBoclk para lectura online
Daniel Valdez -
r216:b2a8f33edd68
parent child
Show More
@@ -239,7 +239,7 class JRODataReader(JRODataIO, ProcessingUnit):
239
239
240 nReadBlocks = 0
240 nReadBlocks = 0
241
241
242 delay = 60 #number of seconds waiting a new file
242 delay = 10 #number of seconds waiting a new file
243
243
244 nTries = 3 #quantity tries
244 nTries = 3 #quantity tries
245
245
@@ -524,7 +524,7 class JRODataReader(JRODataIO, ProcessingUnit):
524 self.filename = file
524 self.filename = file
525 self.flagIsNewFile = 1
525 self.flagIsNewFile = 1
526 if self.fp != None: self.fp.close()
526 if self.fp != None: self.fp.close()
527 self.fp = open(file)
527 self.fp = open(file, 'rb')
528 self.flagNoMoreFiles = 0
528 self.flagNoMoreFiles = 0
529 print 'Setting the file: %s' % file
529 print 'Setting the file: %s' % file
530 else:
530 else:
@@ -554,6 +554,37 class JRODataReader(JRODataIO, ProcessingUnit):
554 self.nReadBlocks = 0
554 self.nReadBlocks = 0
555 return 1
555 return 1
556
556
557 def __waitNewBlock(self):
558 #si es OnLine y ademas aun no se han leido un bloque completo entonces se espera por uno valido
559 if not self.online:
560 return 0
561
562 if (self.nReadBlocks >= self.processingHeaderObj.dataBlocksPerFile):
563 return 0
564
565 currentPointer = self.fp.tell()
566
567 neededSize = self.processingHeaderObj.blockSize + self.basicHeaderSize
568
569 for nTries in range( self.nTries ):
570
571 self.fp.close()
572 self.fp = open( self.filename, 'rb' )
573 self.fp.seek( currentPointer )
574
575 self.fileSize = os.path.getsize( self.filename )
576 currentSize = self.fileSize - currentPointer
577
578 if ( currentSize >= neededSize ):
579 self.__rdBasicHeader()
580 return 1
581
582 print "\tWaiting %0.2f seconds for the next block, try %03d ..." % (self.delay, nTries+1)
583 time.sleep( self.delay )
584
585
586 return 0
587
557 def __setNewBlock(self):
588 def __setNewBlock(self):
558 if self.fp == None:
589 if self.fp == None:
559 return 0
590 return 0
@@ -568,6 +599,9 class JRODataReader(JRODataIO, ProcessingUnit):
568 if (currentSize >= neededSize):
599 if (currentSize >= neededSize):
569 self.__rdBasicHeader()
600 self.__rdBasicHeader()
570 return 1
601 return 1
602
603 if self.__waitNewBlock():
604 return 1
571
605
572 if not(self.setNextFile()):
606 if not(self.setNextFile()):
573 return 0
607 return 0
General Comments 0
You need to be logged in to leave comments. Login now