"message": "Error fetching articles by QIDs: {'code': 'param-missing', 'info': 'Either provide the Item \"ids\" or pairs of \"sites\" and \"titles\" for corresponding page', 'messages': [{'name': 'wikibase-api-illegal-ids-or-sites-titles-selector', 'parameters': [], 'html': 'Either provide the Item \"ids\" or pairs of \"sites\" and \"titles\" for corresponding page'}], 'docref': 'See https://www.wikidata.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes.'}",
"ecs.version": "1.6.0",
"log": {
"logger": "recommendation",
"origin": {
"file": {
"line": 456,
"name": "fetcher.py"
},
"function": "get_articles_by_titles"
},
"original": "Error fetching articles by QIDs: {'code': 'param-missing', 'info': 'Either provide the Item \"ids\" or pairs of \"sites\" and \"titles\" for corresponding page', 'messages': [{'name': 'wikibase-api-illegal-ids-or-sites-titles-selector', 'parameters': [], 'html': 'Either provide the Item \"ids\" or pairs of \"sites\" and \"titles\" for corresponding page'}], 'docref': 'See https://www.wikidata.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes.'}"
},
"process": {
"name": "MainProcess",
"pid": 12,
"thread": {
"id": 139695638971072,
"name": "MainThread"
}
}
}
{
"@timestamp": "2024-11-26T17:35:58.223Z",
"log.level": "error",
"message": "Traceback (most recent call last):\n File \"/opt/lib/venv/lib/python3.11/site-packages/starlette/routing.py\", line 732, in lifespan\n async with self.lifespan_context(app) as maybe_state:\n File \"/usr/lib/python3.11/contextlib.py\", line 204, in __aenter__\n return await anext(self.gen)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/main.py\", line 35, in lifespan\n await update_page_collection_cache()\n File \"/app/recommendation/utils/cache_updater.py\", line 80, in update_page_collection_cache\n await live_page_collection.fetch_articles()\n File \"/app/recommendation/api/translation/models.py\", line 187, in fetch_articles\n results = await asyncio.gather(*tasks)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 603, in get_candidates_in_collection_page\n wikidata_articles.extend(articles)\nTypeError: 'NoneType' object is not iterable\n",
"ecs.version": "1.6.0",
"log": {
"logger": "uvicorn.error",
"origin": {
"file": {
"line": 121,
"name": "on.py"
},
"function": "send"
},
"original": "Traceback (most recent call last):\n File \"/opt/lib/venv/lib/python3.11/site-packages/starlette/routing.py\", line 732, in lifespan\n async with self.lifespan_context(app) as maybe_state:\n File \"/usr/lib/python3.11/contextlib.py\", line 204, in __aenter__\n return await anext(self.gen)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/main.py\", line 35, in lifespan\n await update_page_collection_cache()\n File \"/app/recommendation/utils/cache_updater.py\", line 80, in update_page_collection_cache\n await live_page_collection.fetch_articles()\n File \"/app/recommendation/api/translation/models.py\", line 187, in fetch_articles\n results = await asyncio.gather(*tasks)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 603, in get_candidates_in_collection_page\n wikidata_articles.extend(articles)\nTypeError: 'NoneType' object is not iterable\n"