long2ice/meilisync

TypeError: 'async for' requires an object with __aiter__ method, got list

TSXXY opened this issue · 7 comments

meilisync-1 | │ /meilisync/meilisync/meili.py:33 in add_full_data │
meilisync-1 | │ │
meilisync-1 | │ 30 │ async def add_full_data(self, sync: Sync, data: AsyncGenerator): │
meilisync-1 | │ 31 │ │ tasks = [] │
meilisync-1 | │ 32 │ │ count = 0 │
meilisync-1 | │ ❱ 33 │ │ async for items in data: │
meilisync-1 | │ 34 │ │ │ count += len(items) │
meilisync-1 | │ 35 │ │ │ events = [Event(type=EventType.create, data=item) for item │
meilisync-1 | │ 36 │ │ │ task = await self.handle_events_by_type(sync, events, Even │
meilisync-1 | │ │
meilisync-1 | │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
meilisync-1 | │ │ count = 0 │ │
meilisync-1 | │ │ data = [ │ │
meilisync-1 | │ │ │ { │ │
meilisync-1 | │ │ │ │ 'anime_id': 1, │ │
meilisync-1 | │ │ │ │ 'name': '王者天下 第五季', │ │
meilisync-1 | │ │ │ │ 'play_count': 0, │ │
meilisync-1 | │ │ │ │ 'danmaku_count': 0, │ │
meilisync-1 | │ │ │ │ 'like_count': 0, │ │
meilisync-1 | │ │ │ │ 'create_by': 'admin', │ │
meilisync-1 | │ │ │ │ 'update_by': None, │ │
meilisync-1 | │ │ │ │ 'create_time': datetime.datetime(2024, 4, 1, 18, 22, │ │
meilisync-1 | │ │ 15), │ │
meilisync-1 | │ │ │ │ 'update_time': None, │ │
meilisync-1 | │ │ │ │ 'is_deleted': 0, │ │
meilisync-1 | │ │ │ │ ... +7 │ │
meilisync-1 | │ │ │ }, │ │
meilisync-1 | │ │ │ { │ │
meilisync-1 | │ │ │ │ 'anime_id': 2, │ │
meilisync-1 | │ │ │ │ 'name': '少女与战车 最终章', │ │
meilisync-1 | │ │ │ │ 'play_count': 0, │ │
meilisync-1 | │ │ │ │ 'danmaku_count': 0, │ │
meilisync-1 | │ │ │ │ 'like_count': 0, │ │
meilisync-1 | │ │ │ │ 'create_by': 'admin', │ │
meilisync-1 | │ │ │ │ 'update_by': None, │ │
meilisync-1 | │ │ │ │ 'create_time': datetime.datetime(2024, 4, 1, 18, 22, │ │
meilisync-1 | │ │ 15), │ │
meilisync-1 | │ │ │ │ 'update_time': None, │ │
meilisync-1 | │ │ │ │ 'is_deleted': 0, │ │
meilisync-1 | │ │ │ │ ... +7 │ │
meilisync-1 | │ │ │ }, │ │
meilisync-1 | │ │ │ { │ │
meilisync-1 | │ │ │ │ 'anime_id': 3, │ │
meilisync-1 | │ │ │ │ 'name': │ │
meilisync-1 | │ │ '被称为废物的原英雄,被家里流放后随心所欲地活下去', │ │
meilisync-1 | │ │ │ │ 'play_count': 0, │ │
meilisync-1 | │ │ │ │ 'danmaku_count': 0, │ │
meilisync-1 | │ │ │ │ 'like_count': 0, │ │
meilisync-1 | │ │ │ │ 'create_by': 'admin', │ │
meilisync-1 | │ │ │ │ 'update_by': None, │ │
meilisync-1 | │ │ │ │ 'create_time': datetime.datetime(2024, 4, 1, 18, 22, │ │
meilisync-1 | │ │ 16), │ │
meilisync-1 | │ │ │ │ 'update_time': None, │ │
meilisync-1 | │ │ │ │ 'is_deleted': 0, │ │
meilisync-1 | │ │ │ │ ... +7 │ │
meilisync-1 | │ │ │ }, │ │
meilisync-1 | │ │ │ { │ │
meilisync-1 | │ │ │ │ 'anime_id': 4, │ │
meilisync-1 | │ │ │ │ 'name': '单间、光照尚好、附带天使。', │ │
meilisync-1 | │ │ │ │ 'play_count': 0, │ │
meilisync-1 | │ │ │ │ 'danmaku_count': 0, │ │
meilisync-1 | │ │ │ │ 'like_count': 0, │ │
meilisync-1 | │ │ │ │ 'create_by': 'admin', │ │
meilisync-1 | │ │ │ │ 'update_by': None, │ │
meilisync-1 | │ │ │ │ 'create_time': datetime.datetime(2024, 4, 1, 18, 22, │ │
meilisync-1 | │ │ 16), │ │
meilisync-1 | │ │ │ │ 'update_time': None, │ │
meilisync-1 | │ │ │ │ 'is_deleted': 0, │ │
meilisync-1 | │ │ │ │ ... +7 │ │
meilisync-1 | │ │ │ }, │ │
meilisync-1 | │ │ │ { │ │
meilisync-1 | │ │ │ │ 'anime_id': 5, │ │
meilisync-1 | │ │ │ │ 'name': '关于我转生变成史莱姆这档事 第三季', │ │
meilisync-1 | │ │ │ │ 'play_count': 0, │ │
meilisync-1 | │ │ │ │ 'danmaku_count': 0, │ │
meilisync-1 | │ │ │ │ 'like_count': 0, │ │
meilisync-1 | │ │ │ │ 'create_by': 'admin', │ │
meilisync-1 | │ │ │ │ 'update_by': None, │ │
meilisync-1 | │ │ │ │ 'create_time': datetime.datetime(2024, 4, 1, 18, 22, │ │
meilisync-1 | │ │ 16), │ │
meilisync-1 | │ │ │ │ 'update_time': None, │ │
meilisync-1 | │ │ │ │ 'is_deleted': 0, │ │
meilisync-1 | │ │ │ │ ... +7 │ │
meilisync-1 | │ │ │ }, │ │
meilisync-1 | │ │ │ { │ │
meilisync-1 | │ │ │ │ 'anime_id': 6, │ │
meilisync-1 | │ │ │ │ 'name': 'Wonderful 光之美少女!', │ │
meilisync-1 | │ │ │ │ 'play_count': 0, │ │
meilisync-1 | │ │ │ │ 'danmaku_count': 0, │ │
meilisync-1 | │ │ │ │ 'like_count': 0, │ │
meilisync-1 | │ │ │ │ 'create_by': 'admin', │ │
meilisync-1 | │ │ │ │ 'update_by': None, │ │
meilisync-1 | │ │ │ │ 'create_time': datetime.datetime(2024, 4, 1, 18, 22, │ │
meilisync-1 | │ │ 16), │ │
meilisync-1 | │ │ │ │ 'update_time': None, │ │
meilisync-1 | │ │ │ │ 'is_deleted': 0, │ │
meilisync-1 | │ │ │ │ ... +7 │ │
meilisync-1 | │ │ │ }, │ │
meilisync-1 | │ │ │ { │ │
meilisync-1 | │ │ │ │ 'anime_id': 7, │ │
meilisync-1 | │ │ │ │ 'name': '我心里危险的东西 第二季', │ │
meilisync-1 | │ │ │ │ 'play_count': 0, │ │
meilisync-1 | │ │ │ │ 'danmaku_count': 0, │ │
meilisync-1 | │ │ │ │ 'like_count': 0, │ │
meilisync-1 | │ │ │ │ 'create_by': 'admin', │ │
meilisync-1 | │ │ │ │ 'update_by': None, │ │
meilisync-1 | │ │ │ │ 'create_time': datetime.datetime(2024, 4, 1, 18, 22, │ │
meilisync-1 | │ │ 17), │ │
meilisync-1 | │ │ │ │ 'update_time': None, │ │
meilisync-1 | │ │ │ │ 'is_deleted': 0, │ │
meilisync-1 | │ │ │ │ ... +7 │ │
meilisync-1 | │ │ │ }, │ │
meilisync-1 | │ │ │ { │ │
meilisync-1 | │ │ │ │ 'anime_id': 9, │ │
meilisync-1 | │ │ │ │ 'name': '假面骑士歌查德', │ │
meilisync-1 | │ │ │ │ 'play_count': 0, │ │
meilisync-1 | │ │ │ │ 'danmaku_count': 0, │ │
meilisync-1 | │ │ │ │ 'like_count': 0, │ │
meilisync-1 | │ │ │ │ 'create_by': 'admin', │ │
meilisync-1 | │ │ │ │ 'update_by': None, │ │
meilisync-1 | │ │ │ │ 'create_time': datetime.datetime(2024, 4, 1, 18, 22, │ │
meilisync-1 | │ │ 17), │ │
meilisync-1 | │ │ │ │ 'update_time': None, │ │
meilisync-1 | │ │ │ │ 'is_deleted': 0, │ │
meilisync-1 | │ │ │ │ ... +7 │ │
meilisync-1 | │ │ │ }, │ │
meilisync-1 | │ │ │ { │ │
meilisync-1 | │ │ │ │ 'anime_id': 10, │ │
meilisync-1 | │ │ │ │ 'name': '宝可梦 地平线 莉可与罗伊踏上旅途', │ │
meilisync-1 | │ │ │ │ 'play_count': 0, │ │
meilisync-1 | │ │ │ │ 'danmaku_count': 0, │ │
meilisync-1 | │ │ │ │ 'like_count': 0, │ │
meilisync-1 | │ │ │ │ 'create_by': 'admin', │ │
meilisync-1 | │ │ │ │ 'update_by': None, │ │
meilisync-1 | │ │ │ │ 'create_time': datetime.datetime(2024, 4, 1, 18, 22, │ │
meilisync-1 | │ │ 17), │ │
meilisync-1 | │ │ │ │ 'update_time': None, │ │
meilisync-1 | │ │ │ │ 'is_deleted': 0, │ │
meilisync-1 | │ │ │ │ ... +7 │ │
meilisync-1 | │ │ │ }, │ │
meilisync-1 | │ │ │ { │ │
meilisync-1 | │ │ │ │ 'anime_id': 11, │ │
meilisync-1 | │ │ │ │ 'name': '香格里拉·弗陇提亚~屎作猎人向神作发起挑战~', │ │
meilisync-1 | │ │ │ │ 'play_count': 0, │ │
meilisync-1 | │ │ │ │ 'danmaku_count': 0, │ │
meilisync-1 | │ │ │ │ 'like_count': 0, │ │
meilisync-1 | │ │ │ │ 'create_by': 'admin', │ │
meilisync-1 | │ │ │ │ 'update_by': None, │ │
meilisync-1 | │ │ │ │ 'create_time': datetime.datetime(2024, 4, 1, 18, 22, │ │
meilisync-1 | │ │ 17), │ │
meilisync-1 | │ │ │ │ 'update_time': None, │ │
meilisync-1 | │ │ │ │ 'is_deleted': 0, │ │
meilisync-1 | │ │ │ │ ... +7 │ │
meilisync-1 | │ │ │ } │ │
meilisync-1 | │ │ ] │ │
meilisync-1 | │ │ self = <meilisync.meili.Meili object at 0x7f9f00d63e60> │ │
meilisync-1 | │ │ sync = Sync( │ │
meilisync-1 | │ │ │ plugins=['meilisync.plugin.Plugin'], │ │
meilisync-1 | │ │ │ table='dmkh_animes', │ │
meilisync-1 | │ │ │ pk='anime_id', │ │
meilisync-1 | │ │ │ full=True, │ │
meilisync-1 | │ │ │ index='animes', │ │
meilisync-1 | │ │ │ fields=None │ │
meilisync-1 | │ │ ) │ │
meilisync-1 | │ │ tasks = [] │ │
meilisync-1 | │ ╰──────────────────────────────────────────────────────────────────────────╯ │
meilisync-1 | ╰──────────────────────────────────────────────────────────────────────────────╯
meilisync-1 | TypeError: 'async for' requires an object with aiter method, got list
meilisync-1 exited with code 1

这个是什么问题,数据从数据库读到了。但是还是报错。

image
当把progress的type改成redis后会变成这样

MySQL还是Postgres

MySQL 还是 Postgres

是使用了阿里云的PolarDB MySQL8.0

any progess, I meet same problem