Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
TSXXY opened this issue Apr 3, 2024 · 7 comments
Open

Comments

@TSXXY
Copy link

TSXXY commented Apr 3, 2024

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

@TSXXY
Copy link
Author

TSXXY commented Apr 3, 2024

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

@TSXXY
Copy link
Author

TSXXY commented Apr 3, 2024

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

@long2ice
Copy link
Owner

long2ice commented Apr 5, 2024

MySQL还是Postgres

@TSXXY
Copy link
Author

TSXXY commented Apr 6, 2024

MySQL 还是 Postgres

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

@chenzhony
Copy link

any progess, I meet same problem

@Thanakun
Copy link

Thanakun commented Jun 11, 2024

i also meet the same problem. I'm using MySQL Database , i switch to the image docker tag to develop.
the index on meilisearch has been adding but table has been set on 'NONE' and empty documents in it

image

this is my configuration for config.yml

`debug: true
plugins:

  • meilisync.plugin.Plugin
    progress:
    type: file
    path: ./progress
    source:
    type: mysql
    host: host.docker.internal
    port: 3306
    user: mysql # username sql
    password: mysql
    database: my_db
    meilisearch:
    api_url: http://host.docker.internal:7700 # meilisearch api url
    api_key:
    insert_size: 1000
    insert_interval: 10
    sync:
  • table: MOCK_DATA
    index: data
    full: true
    fields:
    id: pk
    first_name:
    last_name:
    email:
    gender:
    ip_address:
    sentry:
    dsn: ""
    environment: "production"
    `
    i would mess up something, please correct me if I'm wrong.

@gantrol
Copy link

gantrol commented Aug 6, 2024

Having same problem for long2ice/meilisync, I fix it by using long2ice/meilisync:dev. So, you may use newer version of it.

Detail list: https://hub.docker.com/r/long2ice/meilisync/tags

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants