diff --git a/rqalpha/data/bundle.py b/rqalpha/data/bundle.py index 64688e2ac..dd502e2ed 100644 --- a/rqalpha/data/bundle.py +++ b/rqalpha/data/bundle.py @@ -311,29 +311,24 @@ def __call__(self, path, fields, **kwargs): class GenerateDayBarTask(DayBarTask): def __call__(self, path, fields, **kwargs): - try: - with h5py.File(path, 'w') as h5: - i, step = 0, 300 - while True: - order_book_ids = self._order_book_ids[i:i + step] - df = rqdatac.get_price(order_book_ids, START_DATE, datetime.date.today(), '1d', - adjust_type='none', fields=fields, expect_df=True) - if not (df is None or df.empty): - df.reset_index(inplace=True) - df['datetime'] = [convert_date_to_int(d) for d in df['date']] - del df['date'] - df.set_index(['order_book_id', 'datetime'], inplace=True) - df.sort_index(inplace=True) - for order_book_id in df.index.levels[0]: - h5.create_dataset(order_book_id, data=df.loc[order_book_id].to_records(), **kwargs) - i += step - yield len(order_book_ids) - if i >= len(self._order_book_ids): - break - except OSError: - system_log.error("File {} update failed, if it is using, please update later, " - "or you can delete then update again".format(path)) - yield 1 + with h5py.File(path, 'w') as h5: + i, step = 0, 300 + while True: + order_book_ids = self._order_book_ids[i:i + step] + df = rqdatac.get_price(order_book_ids, START_DATE, datetime.date.today(), '1d', + adjust_type='none', fields=fields, expect_df=True) + if not (df is None or df.empty): + df.reset_index(inplace=True) + df['datetime'] = [convert_date_to_int(d) for d in df['date']] + del df['date'] + df.set_index(['order_book_id', 'datetime'], inplace=True) + df.sort_index(inplace=True) + for order_book_id in df.index.levels[0]: + h5.create_dataset(order_book_id, data=df.loc[order_book_id].to_records(), **kwargs) + i += step + yield len(order_book_ids) + if i >= len(self._order_book_ids): + break class UpdateDayBarTask(DayBarTask):