def _write_schedule_file(self, load, scheduler, sfd): cnt = 0 payload_entry_count = None pbar = None start_time = time.time() for item in scheduler.generate(): # item : (time_offset, payload_len, payload_offset, payload, marker, record_type, overall_len) time_offset, payload_len, _, payload, marker, _, _ = item if scheduler.iterations > 1 and payload_entry_count is None: payload_entry_count = scheduler.count estimated_size = self._estimate_schedule_size( load, payload_entry_count) self.log.debug("Estimated schedule size: %s", estimated_size) if estimated_size: pbar = IncrementableProgressBar(maxval=estimated_size) pbar.catchup(start_time, cnt) if time_offset < 0: # special case, run worker with no delay time_offset = 0.0 sfd.write( b("%s %s %s%s" % (payload_len, int( 1000 * time_offset), marker, self.NEWLINE))) sfd.write(b("%s%s" % (payload, self.NEWLINE))) cnt += 1 if pbar: pbar.increment() self.log.debug("Actual schedule size: %s", cnt) if pbar: pbar.finish()
def _write_schedule_file(self, load, scheduler, sfd): cnt = 0 payload_entry_count = None pbar = None start_time = time.time() for item in scheduler.generate(): # item : (time_offset, payload_len, payload_offset, payload, marker, record_type, overall_len) time_offset, payload_len, _, payload, marker, _, _ = item if scheduler.iterations > 1 and payload_entry_count is None: payload_entry_count = scheduler.count estimated_size = self._estimate_schedule_size(load, payload_entry_count) self.log.debug("Estimated schedule size: %s", estimated_size) if estimated_size: pbar = IncrementableProgressBar(maxval=estimated_size) pbar.catchup(start_time, cnt) if time_offset < 0: # special case, run worker with no delay time_offset = 0.0 sfd.write(b("%s %s %s%s" % (payload_len, int(1000 * time_offset), marker, self.NEWLINE))) sfd.write(b("%s%s" % (payload, self.NEWLINE))) cnt += 1 if pbar: pbar.increment() self.log.debug("Actual schedule size: %s", cnt) if pbar: pbar.finish()
def _write_schedule_file(self, load, scheduler, sfd): prev_offset = 0 accum_interval = 0.0 cnt = 0 payload_entry_count = None pbar = None start_time = time.time() for item in scheduler.generate(): # item : (time_offset, payload_len, payload_offset, payload, marker, record_type, overall_len) time_offset, _, payload_offset, _, _, record_type, overall_len = item if scheduler.iterations > 1 and payload_entry_count is None: payload_entry_count = scheduler.count estimated_size = self._estimate_schedule_size( load, payload_entry_count) self.log.debug("Estimated schedule size: %s", estimated_size) if estimated_size: pbar = IncrementableProgressBar(maxval=estimated_size) pbar.catchup(start_time, cnt) if time_offset >= 0: accum_interval += 1000 * (time_offset - prev_offset) interval = int(math.floor(accum_interval)) accum_interval -= interval else: interval = 0xFFFFFF type_and_delay = struct.pack("I", interval)[:-1] + b( chr(record_type)) payload_len_bytes = struct.pack('I', overall_len) payload_offset_bytes = struct.pack('Q', payload_offset) sfd.write(type_and_delay + payload_len_bytes + payload_offset_bytes) if pbar: pbar.increment() cnt += 1 prev_offset = time_offset self.log.debug("Actual schedule size: %s", cnt) if pbar: pbar.finish()
def _write_schedule_file(self, load, scheduler, sfd): prev_offset = 0 accum_interval = 0.0 cnt = 0 payload_entry_count = None pbar = None start_time = time.time() for item in scheduler.generate(): # item : (time_offset, payload_len, payload_offset, payload, marker, record_type, overall_len) time_offset, _, payload_offset, _, _, record_type, overall_len = item if scheduler.iterations > 1 and payload_entry_count is None: payload_entry_count = scheduler.count estimated_size = self._estimate_schedule_size(load, payload_entry_count) self.log.debug("Estimated schedule size: %s", estimated_size) if estimated_size: pbar = IncrementableProgressBar(maxval=estimated_size) pbar.catchup(start_time, cnt) if time_offset >= 0: accum_interval += 1000 * (time_offset - prev_offset) interval = int(math.floor(accum_interval)) accum_interval -= interval else: interval = 0xFFFFFF type_and_delay = struct.pack("I", interval)[:-1] + b(chr(record_type)) payload_len_bytes = struct.pack('I', overall_len) payload_offset_bytes = struct.pack('Q', payload_offset) sfd.write(type_and_delay + payload_len_bytes + payload_offset_bytes) if pbar: pbar.increment() cnt += 1 prev_offset = time_offset self.log.debug("Actual schedule size: %s", cnt) if pbar: pbar.finish()