Page MenuHomePhabricator
Paste P70998

rec-api-ng deployment log errors
ActivePublic

Authored by elukey on Mon, Nov 11, 11:23 AM.
Tags
None
Referenced Files
F57693660: rec-api-ng deployment log errors
Mon, Nov 11, 11:23 AM
F57693659: rec-api-ng deployment log errors
Mon, Nov 11, 11:23 AM
Subscribers
None
root@deploy2002:~# kubectl logs recommendation-api-ng-main-bb9f594c6-89lwb -n recommendation-api-ng recommendation-api-ng-main
[2024-11-11 11:08:41 +0000] [1] [INFO] Starting gunicorn 22.0.0
[2024-11-11 11:08:41 +0000] [1] [INFO] Listening at: http://0.0.0.0:8080 (1)
[2024-11-11 11:08:41 +0000] [1] [INFO] Using worker: uvicorn.workers.UvicornWorker
[2024-11-11 11:08:41 +0000] [9] [INFO] Booting worker with pid: 9
[2024-11-11 11:08:41 +0000] [10] [INFO] Booting worker with pid: 10
[2024-11-11 11:08:41 +0000] [11] [INFO] Booting worker with pid: 11
[2024-11-11 11:08:41 +0000] [12] [INFO] Booting worker with pid: 12
{"@timestamp":"2024-11-11T11:08:42.865Z","log.level":"info","message":"Started server process [11]","color_message":"Started server process [\u001b[36m%d\u001b[0m]","ecs.version":"1.6.0","log":{"logger":"uvicorn.error","origin":{"file":{"line":82,"name":"server.py"},"function":"_serve"},"original":"Started server process [11]"},"process":{"name":"MainProcess","pid":11,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.866Z","log.level":"info","message":"Waiting for application startup.","ecs.version":"1.6.0","log":{"logger":"uvicorn.error","origin":{"file":{"line":48,"name":"on.py"},"function":"startup"},"original":"Waiting for application startup."},"process":{"name":"MainProcess","pid":11,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.866Z","log.level":"info","message":"Started server process [12]","color_message":"Started server process [\u001b[36m%d\u001b[0m]","ecs.version":"1.6.0","log":{"logger":"uvicorn.error","origin":{"file":{"line":82,"name":"server.py"},"function":"_serve"},"original":"Started server process [12]"},"process":{"name":"MainProcess","pid":12,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.866Z","log.level":"info","message":"Started server process [10]","color_message":"Started server process [\u001b[36m%d\u001b[0m]","ecs.version":"1.6.0","log":{"logger":"uvicorn.error","origin":{"file":{"line":82,"name":"server.py"},"function":"_serve"},"original":"Started server process [10]"},"process":{"name":"MainProcess","pid":10,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.866Z","log.level":"info","message":"Starting up the Recommendation service","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":29,"name":"main.py"},"function":"lifespan"},"original":"Starting up the Recommendation service"},"process":{"name":"MainProcess","pid":11,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.866Z","log.level":"info","message":"Waiting for application startup.","ecs.version":"1.6.0","log":{"logger":"uvicorn.error","origin":{"file":{"line":48,"name":"on.py"},"function":"startup"},"original":"Waiting for application startup."},"process":{"name":"MainProcess","pid":12,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.866Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&generator=categorymembers&gcmlimit=max&gcmnamespace=0&gcmtitle=Category:Pages+including+a+page+collection&prop=info","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&generator=categorymembers&gcmlimit=max&gcmnamespace=0&gcmtitle=Category:Pages+including+a+page+collection&prop=info"},"process":{"name":"MainProcess","pid":11,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.866Z","log.level":"info","message":"Waiting for application startup.","ecs.version":"1.6.0","log":{"logger":"uvicorn.error","origin":{"file":{"line":48,"name":"on.py"},"function":"startup"},"original":"Waiting for application startup."},"process":{"name":"MainProcess","pid":10,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.866Z","log.level":"info","message":"Started server process [9]","color_message":"Started server process [\u001b[36m%d\u001b[0m]","ecs.version":"1.6.0","log":{"logger":"uvicorn.error","origin":{"file":{"line":82,"name":"server.py"},"function":"_serve"},"original":"Started server process [9]"},"process":{"name":"MainProcess","pid":9,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.866Z","log.level":"info","message":"Starting up the Recommendation service","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":29,"name":"main.py"},"function":"lifespan"},"original":"Starting up the Recommendation service"},"process":{"name":"MainProcess","pid":12,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.866Z","log.level":"info","message":"Waiting for application startup.","ecs.version":"1.6.0","log":{"logger":"uvicorn.error","origin":{"file":{"line":48,"name":"on.py"},"function":"startup"},"original":"Waiting for application startup."},"process":{"name":"MainProcess","pid":9,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.867Z","log.level":"info","message":"Starting up the Recommendation service","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":29,"name":"main.py"},"function":"lifespan"},"original":"Starting up the Recommendation service"},"process":{"name":"MainProcess","pid":10,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.867Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&generator=categorymembers&gcmlimit=max&gcmnamespace=0&gcmtitle=Category:Pages+including+a+page+collection&prop=info","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&generator=categorymembers&gcmlimit=max&gcmnamespace=0&gcmtitle=Category:Pages+including+a+page+collection&prop=info"},"process":{"name":"MainProcess","pid":12,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.867Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&generator=categorymembers&gcmlimit=max&gcmnamespace=0&gcmtitle=Category:Pages+including+a+page+collection&prop=info","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&generator=categorymembers&gcmlimit=max&gcmnamespace=0&gcmtitle=Category:Pages+including+a+page+collection&prop=info"},"process":{"name":"MainProcess","pid":10,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.867Z","log.level":"info","message":"Starting up the Recommendation service","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":29,"name":"main.py"},"function":"lifespan"},"original":"Starting up the Recommendation service"},"process":{"name":"MainProcess","pid":9,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.867Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&generator=categorymembers&gcmlimit=max&gcmnamespace=0&gcmtitle=Category:Pages+including+a+page+collection&prop=info","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&generator=categorymembers&gcmlimit=max&gcmnamespace=0&gcmtitle=Category:Pages+including+a+page+collection&prop=info"},"process":{"name":"MainProcess","pid":9,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.925Z","log.level":"error","message":"Could not fetch the list","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":474,"name":"fetcher.py"},"function":"get_collection_pages"},"original":"Could not fetch the list"},"process":{"name":"MainProcess","pid":11,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.925Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&list=pagecollectionsmetadata&titles=","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&list=pagecollectionsmetadata&titles="},"process":{"name":"MainProcess","pid":11,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.935Z","log.level":"error","message":"Could not fetch the list","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":474,"name":"fetcher.py"},"function":"get_collection_pages"},"original":"Could not fetch the list"},"process":{"name":"MainProcess","pid":12,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.936Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&list=pagecollectionsmetadata&titles=","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&list=pagecollectionsmetadata&titles="},"process":{"name":"MainProcess","pid":12,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.944Z","log.level":"error","message":"Could not fetch the list","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":474,"name":"fetcher.py"},"function":"get_collection_pages"},"original":"Could not fetch the list"},"process":{"name":"MainProcess","pid":9,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.944Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&list=pagecollectionsmetadata&titles=","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&list=pagecollectionsmetadata&titles="},"process":{"name":"MainProcess","pid":9,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.945Z","log.level":"error","message":"Could not fetch the list","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":474,"name":"fetcher.py"},"function":"get_collection_pages"},"original":"Could not fetch the list"},"process":{"name":"MainProcess","pid":10,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.945Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&list=pagecollectionsmetadata&titles=","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&list=pagecollectionsmetadata&titles="},"process":{"name":"MainProcess","pid":10,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.963Z","log.level":"error","message":"Could not fetch the list","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":613,"name":"fetcher.py"},"function":"get_collection_metadata_by_pages"},"original":"Could not fetch the list"},"process":{"name":"MainProcess","pid":11,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.973Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=info|pageprops&titles=Wikipedia:Vital+articles/Level/3","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=info|pageprops&titles=Wikipedia:Vital+articles/Level/3"},"process":{"name":"MainProcess","pid":11,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.985Z","log.level":"error","message":"Could not fetch the list","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":613,"name":"fetcher.py"},"function":"get_collection_metadata_by_pages"},"original":"Could not fetch the list"},"process":{"name":"MainProcess","pid":9,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.986Z","log.level":"error","message":"Could not fetch the list","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":613,"name":"fetcher.py"},"function":"get_collection_metadata_by_pages"},"original":"Could not fetch the list"},"process":{"name":"MainProcess","pid":12,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.987Z","log.level":"error","message":"Could not fetch the list","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":613,"name":"fetcher.py"},"function":"get_collection_metadata_by_pages"},"original":"Could not fetch the list"},"process":{"name":"MainProcess","pid":10,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.988Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=info|pageprops&titles=Wikipedia:Vital+articles/Level/3","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=info|pageprops&titles=Wikipedia:Vital+articles/Level/3"},"process":{"name":"MainProcess","pid":9,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.989Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=info|pageprops&titles=Wikipedia:Vital+articles/Level/3","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=info|pageprops&titles=Wikipedia:Vital+articles/Level/3"},"process":{"name":"MainProcess","pid":10,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:42.991Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=info|pageprops&titles=Wikipedia:Vital+articles/Level/3","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=info|pageprops&titles=Wikipedia:Vital+articles/Level/3"},"process":{"name":"MainProcess","pid":12,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:43.018Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=links&titles=Wikipedia:Vital+articles/Level/3&pllimit=max","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=links&titles=Wikipedia:Vital+articles/Level/3&pllimit=max"},"process":{"name":"MainProcess","pid":11,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:43.036Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=links&titles=Wikipedia:Vital+articles/Level/3&pllimit=max","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=links&titles=Wikipedia:Vital+articles/Level/3&pllimit=max"},"process":{"name":"MainProcess","pid":10,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:43.045Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=links&titles=Wikipedia:Vital+articles/Level/3&pllimit=max","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=links&titles=Wikipedia:Vital+articles/Level/3&pllimit=max"},"process":{"name":"MainProcess","pid":12,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:43.045Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=links&titles=Wikipedia:Vital+articles/Level/3&pllimit=max","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=query&format=json&formatversion=2&prop=links&titles=Wikipedia:Vital+articles/Level/3&pllimit=max"},"process":{"name":"MainProcess","pid":9,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:43.079Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=wbgetentities&format=json&props=sitelinks&sites=enwiki&titles=0|Abiogenesis|Abortion|Abraham|Abraham+Lincoln|Abstract+art|Achaemenid+Empire|Acid%E2%80%93base+reaction|Adam+Smith|Addiction|Adi+Shankara|Adolescence|Adolf+Hitler|Adult|Aesthetics|Africa|Afterlife|Age+of+Discovery|Age+of+Enlightenment|Ageing|Agriculture|Aircraft|Akbar|Al-Khwarizmi|Alan+Turing|Albert+Einstein|Alcoholic+beverage|Alcoholism|Alexander+the+Great|Algae|Algebra|Algeria|Algorithm|Ali|Allergy|Alloy|Alphabet|Alps|Aluminium|Amazon+River|Amazon+rainforest|American+Revolution|Amphibian|Anarchism|Anatomy|Ancient+Egypt|Ancient+Greece|Ancient+Rome|Ancient+history|Andean+civilizations&formatversion=2","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=wbgetentities&format=json&props=sitelinks&sites=enwiki&titles=0|Abiogenesis|Abortion|Abraham|Abraham+Lincoln|Abstract+art|Achaemenid+Empire|Acid%E2%80%93base+reaction|Adam+Smith|Addiction|Adi+Shankara|Adolescence|Adolf+Hitler|Adult|Aesthetics|Africa|Afterlife|Age+of+Discovery|Age+of+Enlightenment|Ageing|Agriculture|Aircraft|Akbar|Al-Khwarizmi|Alan+Turing|Albert+Einstein|Alcoholic+beverage|Alcoholism|Alexander+the+Great|Algae|Algebra|Algeria|Algorithm|Ali|Allergy|Alloy|Alphabet|Alps|Aluminium|Amazon+River|Amazon+rainforest|American+Revolution|Amphibian|Anarchism|Anatomy|Ancient+Egypt|Ancient+Greece|Ancient+Rome|Ancient+history|Andean+civilizations&formatversion=2"},"process":{"name":"MainProcess","pid":11,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:43.098Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=wbgetentities&format=json&props=sitelinks&sites=enwiki&titles=0|Abiogenesis|Abortion|Abraham|Abraham+Lincoln|Abstract+art|Achaemenid+Empire|Acid%E2%80%93base+reaction|Adam+Smith|Addiction|Adi+Shankara|Adolescence|Adolf+Hitler|Adult|Aesthetics|Africa|Afterlife|Age+of+Discovery|Age+of+Enlightenment|Ageing|Agriculture|Aircraft|Akbar|Al-Khwarizmi|Alan+Turing|Albert+Einstein|Alcoholic+beverage|Alcoholism|Alexander+the+Great|Algae|Algebra|Algeria|Algorithm|Ali|Allergy|Alloy|Alphabet|Alps|Aluminium|Amazon+River|Amazon+rainforest|American+Revolution|Amphibian|Anarchism|Anatomy|Ancient+Egypt|Ancient+Greece|Ancient+Rome|Ancient+history|Andean+civilizations&formatversion=2","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=wbgetentities&format=json&props=sitelinks&sites=enwiki&titles=0|Abiogenesis|Abortion|Abraham|Abraham+Lincoln|Abstract+art|Achaemenid+Empire|Acid%E2%80%93base+reaction|Adam+Smith|Addiction|Adi+Shankara|Adolescence|Adolf+Hitler|Adult|Aesthetics|Africa|Afterlife|Age+of+Discovery|Age+of+Enlightenment|Ageing|Agriculture|Aircraft|Akbar|Al-Khwarizmi|Alan+Turing|Albert+Einstein|Alcoholic+beverage|Alcoholism|Alexander+the+Great|Algae|Algebra|Algeria|Algorithm|Ali|Allergy|Alloy|Alphabet|Alps|Aluminium|Amazon+River|Amazon+rainforest|American+Revolution|Amphibian|Anarchism|Anatomy|Ancient+Egypt|Ancient+Greece|Ancient+Rome|Ancient+history|Andean+civilizations&formatversion=2"},"process":{"name":"MainProcess","pid":10,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:43.104Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=wbgetentities&format=json&props=sitelinks&sites=enwiki&titles=0|Abiogenesis|Abortion|Abraham|Abraham+Lincoln|Abstract+art|Achaemenid+Empire|Acid%E2%80%93base+reaction|Adam+Smith|Addiction|Adi+Shankara|Adolescence|Adolf+Hitler|Adult|Aesthetics|Africa|Afterlife|Age+of+Discovery|Age+of+Enlightenment|Ageing|Agriculture|Aircraft|Akbar|Al-Khwarizmi|Alan+Turing|Albert+Einstein|Alcoholic+beverage|Alcoholism|Alexander+the+Great|Algae|Algebra|Algeria|Algorithm|Ali|Allergy|Alloy|Alphabet|Alps|Aluminium|Amazon+River|Amazon+rainforest|American+Revolution|Amphibian|Anarchism|Anatomy|Ancient+Egypt|Ancient+Greece|Ancient+Rome|Ancient+history|Andean+civilizations&formatversion=2","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=wbgetentities&format=json&props=sitelinks&sites=enwiki&titles=0|Abiogenesis|Abortion|Abraham|Abraham+Lincoln|Abstract+art|Achaemenid+Empire|Acid%E2%80%93base+reaction|Adam+Smith|Addiction|Adi+Shankara|Adolescence|Adolf+Hitler|Adult|Aesthetics|Africa|Afterlife|Age+of+Discovery|Age+of+Enlightenment|Ageing|Agriculture|Aircraft|Akbar|Al-Khwarizmi|Alan+Turing|Albert+Einstein|Alcoholic+beverage|Alcoholism|Alexander+the+Great|Algae|Algebra|Algeria|Algorithm|Ali|Allergy|Alloy|Alphabet|Alps|Aluminium|Amazon+River|Amazon+rainforest|American+Revolution|Amphibian|Anarchism|Anatomy|Ancient+Egypt|Ancient+Greece|Ancient+Rome|Ancient+history|Andean+civilizations&formatversion=2"},"process":{"name":"MainProcess","pid":9,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:08:43.108Z","log.level":"debug","message":"GET: http://localhost:6500/w/api.php?action=wbgetentities&format=json&props=sitelinks&sites=enwiki&titles=0|Abiogenesis|Abortion|Abraham|Abraham+Lincoln|Abstract+art|Achaemenid+Empire|Acid%E2%80%93base+reaction|Adam+Smith|Addiction|Adi+Shankara|Adolescence|Adolf+Hitler|Adult|Aesthetics|Africa|Afterlife|Age+of+Discovery|Age+of+Enlightenment|Ageing|Agriculture|Aircraft|Akbar|Al-Khwarizmi|Alan+Turing|Albert+Einstein|Alcoholic+beverage|Alcoholism|Alexander+the+Great|Algae|Algebra|Algeria|Algorithm|Ali|Allergy|Alloy|Alphabet|Alps|Aluminium|Amazon+River|Amazon+rainforest|American+Revolution|Amphibian|Anarchism|Anatomy|Ancient+Egypt|Ancient+Greece|Ancient+Rome|Ancient+history|Andean+civilizations&formatversion=2","ecs.version":"1.6.0","log":{"logger":"recommendation","origin":{"file":{"line":31,"name":"fetcher.py"},"function":"get"},"original":"GET: http://localhost:6500/w/api.php?action=wbgetentities&format=json&props=sitelinks&sites=enwiki&titles=0|Abiogenesis|Abortion|Abraham|Abraham+Lincoln|Abstract+art|Achaemenid+Empire|Acid%E2%80%93base+reaction|Adam+Smith|Addiction|Adi+Shankara|Adolescence|Adolf+Hitler|Adult|Aesthetics|Africa|Afterlife|Age+of+Discovery|Age+of+Enlightenment|Ageing|Agriculture|Aircraft|Akbar|Al-Khwarizmi|Alan+Turing|Albert+Einstein|Alcoholic+beverage|Alcoholism|Alexander+the+Great|Algae|Algebra|Algeria|Algorithm|Ali|Allergy|Alloy|Alphabet|Alps|Aluminium|Amazon+River|Amazon+rainforest|American+Revolution|Amphibian|Anarchism|Anatomy|Ancient+Egypt|Ancient+Greece|Ancient+Rome|Ancient+history|Andean+civilizations&formatversion=2"},"process":{"name":"MainProcess","pid":12,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:09:13.114Z","log.level":"error","message":"Traceback (most recent call last):\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 69, in map_httpcore_exceptions\n yield\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 373, in handle_async_request\n resp = await self._pool.handle_async_request(req)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 216, in handle_async_request\n raise exc from None\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 196, in handle_async_request\n response = await connection.handle_async_request(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 99, in handle_async_request\n raise exc\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 76, in handle_async_request\n stream = await self._connect(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 122, in _connect\n stream = await self._network_backend.connect_tcp(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/auto.py\", line 30, in connect_tcp\n return await self._backend.connect_tcp(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/anyio.py\", line 114, in connect_tcp\n with map_exceptions(exc_map):\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_exceptions.py\", line 14, in map_exceptions\n raise to_exc(exc) from exc\nhttpcore.ConnectTimeout\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/app/recommendation/external_data/fetcher.py\", line 35, in get\n response = await httpx_client.get(\n ^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1801, in get\n return await self.request(\n ^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1574, in request\n return await self.send(request, auth=auth, follow_redirects=follow_redirects)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1661, in send\n response = await self._send_handling_auth(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1689, in _send_handling_auth\n response = await self._send_handling_redirects(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1726, in _send_handling_redirects\n response = await self._send_single_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1763, in _send_single_request\n response = await transport.handle_async_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 372, in handle_async_request\n with map_httpcore_exceptions():\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 86, in map_httpcore_exceptions\n raise mapped_exc(message) from exc\nhttpx.ConnectTimeout\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (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 30, 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 575, in get_candidates_in_collection_page\n articles = await get_articles_by_titles(batch, language)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 426, in get_articles_by_titles\n data = await get(endpoint, params=params, headers=headers)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 44, in get\n log.error(f\"Error response {exc.response.status_code} while requesting {exc.request.url!r}.\")\n ^^^^^^^^^^^^\nAttributeError: 'ConnectTimeout' object has no attribute 'response'\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/httpx/_transports/default.py\", line 69, in map_httpcore_exceptions\n yield\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 373, in handle_async_request\n resp = await self._pool.handle_async_request(req)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 216, in handle_async_request\n raise exc from None\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 196, in handle_async_request\n response = await connection.handle_async_request(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 99, in handle_async_request\n raise exc\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 76, in handle_async_request\n stream = await self._connect(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 122, in _connect\n stream = await self._network_backend.connect_tcp(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/auto.py\", line 30, in connect_tcp\n return await self._backend.connect_tcp(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/anyio.py\", line 114, in connect_tcp\n with map_exceptions(exc_map):\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_exceptions.py\", line 14, in map_exceptions\n raise to_exc(exc) from exc\nhttpcore.ConnectTimeout\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/app/recommendation/external_data/fetcher.py\", line 35, in get\n response = await httpx_client.get(\n ^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1801, in get\n return await self.request(\n ^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1574, in request\n return await self.send(request, auth=auth, follow_redirects=follow_redirects)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1661, in send\n response = await self._send_handling_auth(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1689, in _send_handling_auth\n response = await self._send_handling_redirects(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1726, in _send_handling_redirects\n response = await self._send_single_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1763, in _send_single_request\n response = await transport.handle_async_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 372, in handle_async_request\n with map_httpcore_exceptions():\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 86, in map_httpcore_exceptions\n raise mapped_exc(message) from exc\nhttpx.ConnectTimeout\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (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 30, 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 575, in get_candidates_in_collection_page\n articles = await get_articles_by_titles(batch, language)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 426, in get_articles_by_titles\n data = await get(endpoint, params=params, headers=headers)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 44, in get\n log.error(f\"Error response {exc.response.status_code} while requesting {exc.request.url!r}.\")\n ^^^^^^^^^^^^\nAttributeError: 'ConnectTimeout' object has no attribute 'response'\n"},"process":{"name":"MainProcess","pid":11,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:09:13.115Z","log.level":"error","message":"Application startup failed. Exiting.","ecs.version":"1.6.0","log":{"logger":"uvicorn.error","origin":{"file":{"line":59,"name":"on.py"},"function":"startup"},"original":"Application startup failed. Exiting."},"process":{"name":"MainProcess","pid":11,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:09:13.116Z","log.level":"info","message":"Worker exiting (pid: 11)","ecs.version":"1.6.0","log":{"logger":"gunicorn.error","origin":{"file":{"line":278,"name":"glogging.py"},"function":"info"},"original":"Worker exiting (pid: 11)"},"process":{"name":"MainProcess","pid":11,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:09:13.123Z","log.level":"error","message":"Traceback (most recent call last):\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 69, in map_httpcore_exceptions\n yield\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 373, in handle_async_request\n resp = await self._pool.handle_async_request(req)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 216, in handle_async_request\n raise exc from None\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 196, in handle_async_request\n response = await connection.handle_async_request(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 99, in handle_async_request\n raise exc\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 76, in handle_async_request\n stream = await self._connect(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 122, in _connect\n stream = await self._network_backend.connect_tcp(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/auto.py\", line 30, in connect_tcp\n return await self._backend.connect_tcp(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/anyio.py\", line 114, in connect_tcp\n with map_exceptions(exc_map):\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_exceptions.py\", line 14, in map_exceptions\n raise to_exc(exc) from exc\nhttpcore.ConnectTimeout\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/app/recommendation/external_data/fetcher.py\", line 35, in get\n response = await httpx_client.get(\n ^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1801, in get\n return await self.request(\n ^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1574, in request\n return await self.send(request, auth=auth, follow_redirects=follow_redirects)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1661, in send\n response = await self._send_handling_auth(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1689, in _send_handling_auth\n response = await self._send_handling_redirects(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1726, in _send_handling_redirects\n response = await self._send_single_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1763, in _send_single_request\n response = await transport.handle_async_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 372, in handle_async_request\n with map_httpcore_exceptions():\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 86, in map_httpcore_exceptions\n raise mapped_exc(message) from exc\nhttpx.ConnectTimeout\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (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 30, 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 575, in get_candidates_in_collection_page\n articles = await get_articles_by_titles(batch, language)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 426, in get_articles_by_titles\n data = await get(endpoint, params=params, headers=headers)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 44, in get\n log.error(f\"Error response {exc.response.status_code} while requesting {exc.request.url!r}.\")\n ^^^^^^^^^^^^\nAttributeError: 'ConnectTimeout' object has no attribute 'response'\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/httpx/_transports/default.py\", line 69, in map_httpcore_exceptions\n yield\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 373, in handle_async_request\n resp = await self._pool.handle_async_request(req)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 216, in handle_async_request\n raise exc from None\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 196, in handle_async_request\n response = await connection.handle_async_request(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 99, in handle_async_request\n raise exc\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 76, in handle_async_request\n stream = await self._connect(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 122, in _connect\n stream = await self._network_backend.connect_tcp(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/auto.py\", line 30, in connect_tcp\n return await self._backend.connect_tcp(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/anyio.py\", line 114, in connect_tcp\n with map_exceptions(exc_map):\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_exceptions.py\", line 14, in map_exceptions\n raise to_exc(exc) from exc\nhttpcore.ConnectTimeout\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/app/recommendation/external_data/fetcher.py\", line 35, in get\n response = await httpx_client.get(\n ^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1801, in get\n return await self.request(\n ^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1574, in request\n return await self.send(request, auth=auth, follow_redirects=follow_redirects)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1661, in send\n response = await self._send_handling_auth(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1689, in _send_handling_auth\n response = await self._send_handling_redirects(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1726, in _send_handling_redirects\n response = await self._send_single_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1763, in _send_single_request\n response = await transport.handle_async_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 372, in handle_async_request\n with map_httpcore_exceptions():\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 86, in map_httpcore_exceptions\n raise mapped_exc(message) from exc\nhttpx.ConnectTimeout\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (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 30, 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 575, in get_candidates_in_collection_page\n articles = await get_articles_by_titles(batch, language)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 426, in get_articles_by_titles\n data = await get(endpoint, params=params, headers=headers)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 44, in get\n log.error(f\"Error response {exc.response.status_code} while requesting {exc.request.url!r}.\")\n ^^^^^^^^^^^^\nAttributeError: 'ConnectTimeout' object has no attribute 'response'\n"},"process":{"name":"MainProcess","pid":10,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:09:13.123Z","log.level":"error","message":"Application startup failed. Exiting.","ecs.version":"1.6.0","log":{"logger":"uvicorn.error","origin":{"file":{"line":59,"name":"on.py"},"function":"startup"},"original":"Application startup failed. Exiting."},"process":{"name":"MainProcess","pid":10,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:09:13.124Z","log.level":"info","message":"Worker exiting (pid: 10)","ecs.version":"1.6.0","log":{"logger":"gunicorn.error","origin":{"file":{"line":278,"name":"glogging.py"},"function":"info"},"original":"Worker exiting (pid: 10)"},"process":{"name":"MainProcess","pid":10,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:09:13.124Z","log.level":"error","message":"Traceback (most recent call last):\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 69, in map_httpcore_exceptions\n yield\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 373, in handle_async_request\n resp = await self._pool.handle_async_request(req)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 216, in handle_async_request\n raise exc from None\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 196, in handle_async_request\n response = await connection.handle_async_request(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 99, in handle_async_request\n raise exc\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 76, in handle_async_request\n stream = await self._connect(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 122, in _connect\n stream = await self._network_backend.connect_tcp(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/auto.py\", line 30, in connect_tcp\n return await self._backend.connect_tcp(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/anyio.py\", line 114, in connect_tcp\n with map_exceptions(exc_map):\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_exceptions.py\", line 14, in map_exceptions\n raise to_exc(exc) from exc\nhttpcore.ConnectTimeout\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/app/recommendation/external_data/fetcher.py\", line 35, in get\n response = await httpx_client.get(\n ^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1801, in get\n return await self.request(\n ^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1574, in request\n return await self.send(request, auth=auth, follow_redirects=follow_redirects)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1661, in send\n response = await self._send_handling_auth(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1689, in _send_handling_auth\n response = await self._send_handling_redirects(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1726, in _send_handling_redirects\n response = await self._send_single_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1763, in _send_single_request\n response = await transport.handle_async_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 372, in handle_async_request\n with map_httpcore_exceptions():\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 86, in map_httpcore_exceptions\n raise mapped_exc(message) from exc\nhttpx.ConnectTimeout\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (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 30, 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 575, in get_candidates_in_collection_page\n articles = await get_articles_by_titles(batch, language)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 426, in get_articles_by_titles\n data = await get(endpoint, params=params, headers=headers)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 44, in get\n log.error(f\"Error response {exc.response.status_code} while requesting {exc.request.url!r}.\")\n ^^^^^^^^^^^^\nAttributeError: 'ConnectTimeout' object has no attribute 'response'\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/httpx/_transports/default.py\", line 69, in map_httpcore_exceptions\n yield\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 373, in handle_async_request\n resp = await self._pool.handle_async_request(req)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 216, in handle_async_request\n raise exc from None\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 196, in handle_async_request\n response = await connection.handle_async_request(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 99, in handle_async_request\n raise exc\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 76, in handle_async_request\n stream = await self._connect(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 122, in _connect\n stream = await self._network_backend.connect_tcp(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/auto.py\", line 30, in connect_tcp\n return await self._backend.connect_tcp(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/anyio.py\", line 114, in connect_tcp\n with map_exceptions(exc_map):\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_exceptions.py\", line 14, in map_exceptions\n raise to_exc(exc) from exc\nhttpcore.ConnectTimeout\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/app/recommendation/external_data/fetcher.py\", line 35, in get\n response = await httpx_client.get(\n ^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1801, in get\n return await self.request(\n ^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1574, in request\n return await self.send(request, auth=auth, follow_redirects=follow_redirects)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1661, in send\n response = await self._send_handling_auth(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1689, in _send_handling_auth\n response = await self._send_handling_redirects(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1726, in _send_handling_redirects\n response = await self._send_single_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1763, in _send_single_request\n response = await transport.handle_async_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 372, in handle_async_request\n with map_httpcore_exceptions():\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 86, in map_httpcore_exceptions\n raise mapped_exc(message) from exc\nhttpx.ConnectTimeout\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (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 30, 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 575, in get_candidates_in_collection_page\n articles = await get_articles_by_titles(batch, language)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 426, in get_articles_by_titles\n data = await get(endpoint, params=params, headers=headers)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 44, in get\n log.error(f\"Error response {exc.response.status_code} while requesting {exc.request.url!r}.\")\n ^^^^^^^^^^^^\nAttributeError: 'ConnectTimeout' object has no attribute 'response'\n"},"process":{"name":"MainProcess","pid":9,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:09:13.125Z","log.level":"error","message":"Application startup failed. Exiting.","ecs.version":"1.6.0","log":{"logger":"uvicorn.error","origin":{"file":{"line":59,"name":"on.py"},"function":"startup"},"original":"Application startup failed. Exiting."},"process":{"name":"MainProcess","pid":9,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:09:13.125Z","log.level":"info","message":"Worker exiting (pid: 9)","ecs.version":"1.6.0","log":{"logger":"gunicorn.error","origin":{"file":{"line":278,"name":"glogging.py"},"function":"info"},"original":"Worker exiting (pid: 9)"},"process":{"name":"MainProcess","pid":9,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:09:13.142Z","log.level":"error","message":"Traceback (most recent call last):\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 69, in map_httpcore_exceptions\n yield\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 373, in handle_async_request\n resp = await self._pool.handle_async_request(req)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 216, in handle_async_request\n raise exc from None\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 196, in handle_async_request\n response = await connection.handle_async_request(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 99, in handle_async_request\n raise exc\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 76, in handle_async_request\n stream = await self._connect(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 122, in _connect\n stream = await self._network_backend.connect_tcp(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/auto.py\", line 30, in connect_tcp\n return await self._backend.connect_tcp(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/anyio.py\", line 114, in connect_tcp\n with map_exceptions(exc_map):\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_exceptions.py\", line 14, in map_exceptions\n raise to_exc(exc) from exc\nhttpcore.ConnectTimeout\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/app/recommendation/external_data/fetcher.py\", line 35, in get\n response = await httpx_client.get(\n ^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1801, in get\n return await self.request(\n ^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1574, in request\n return await self.send(request, auth=auth, follow_redirects=follow_redirects)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1661, in send\n response = await self._send_handling_auth(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1689, in _send_handling_auth\n response = await self._send_handling_redirects(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1726, in _send_handling_redirects\n response = await self._send_single_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1763, in _send_single_request\n response = await transport.handle_async_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 372, in handle_async_request\n with map_httpcore_exceptions():\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 86, in map_httpcore_exceptions\n raise mapped_exc(message) from exc\nhttpx.ConnectTimeout\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (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 30, 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 575, in get_candidates_in_collection_page\n articles = await get_articles_by_titles(batch, language)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 426, in get_articles_by_titles\n data = await get(endpoint, params=params, headers=headers)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 44, in get\n log.error(f\"Error response {exc.response.status_code} while requesting {exc.request.url!r}.\")\n ^^^^^^^^^^^^\nAttributeError: 'ConnectTimeout' object has no attribute 'response'\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/httpx/_transports/default.py\", line 69, in map_httpcore_exceptions\n yield\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 373, in handle_async_request\n resp = await self._pool.handle_async_request(req)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 216, in handle_async_request\n raise exc from None\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py\", line 196, in handle_async_request\n response = await connection.handle_async_request(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 99, in handle_async_request\n raise exc\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 76, in handle_async_request\n stream = await self._connect(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_async/connection.py\", line 122, in _connect\n stream = await self._network_backend.connect_tcp(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/auto.py\", line 30, in connect_tcp\n return await self._backend.connect_tcp(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_backends/anyio.py\", line 114, in connect_tcp\n with map_exceptions(exc_map):\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpcore/_exceptions.py\", line 14, in map_exceptions\n raise to_exc(exc) from exc\nhttpcore.ConnectTimeout\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/app/recommendation/external_data/fetcher.py\", line 35, in get\n response = await httpx_client.get(\n ^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1801, in get\n return await self.request(\n ^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1574, in request\n return await self.send(request, auth=auth, follow_redirects=follow_redirects)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1661, in send\n response = await self._send_handling_auth(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1689, in _send_handling_auth\n response = await self._send_handling_redirects(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1726, in _send_handling_redirects\n response = await self._send_single_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_client.py\", line 1763, in _send_single_request\n response = await transport.handle_async_request(request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 372, in handle_async_request\n with map_httpcore_exceptions():\n File \"/usr/lib/python3.11/contextlib.py\", line 155, in __exit__\n self.gen.throw(typ, value, traceback)\n File \"/opt/lib/venv/lib/python3.11/site-packages/httpx/_transports/default.py\", line 86, in map_httpcore_exceptions\n raise mapped_exc(message) from exc\nhttpx.ConnectTimeout\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (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 30, 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 575, in get_candidates_in_collection_page\n articles = await get_articles_by_titles(batch, language)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 426, in get_articles_by_titles\n data = await get(endpoint, params=params, headers=headers)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/app/recommendation/external_data/fetcher.py\", line 44, in get\n log.error(f\"Error response {exc.response.status_code} while requesting {exc.request.url!r}.\")\n ^^^^^^^^^^^^\nAttributeError: 'ConnectTimeout' object has no attribute 'response'\n"},"process":{"name":"MainProcess","pid":12,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:09:13.142Z","log.level":"error","message":"Application startup failed. Exiting.","ecs.version":"1.6.0","log":{"logger":"uvicorn.error","origin":{"file":{"line":59,"name":"on.py"},"function":"startup"},"original":"Application startup failed. Exiting."},"process":{"name":"MainProcess","pid":12,"thread":{"id":140039512761024,"name":"MainThread"}}}
{"@timestamp":"2024-11-11T11:09:13.143Z","log.level":"info","message":"Worker exiting (pid: 12)","ecs.version":"1.6.0","log":{"logger":"gunicorn.error","origin":{"file":{"line":278,"name":"glogging.py"},"function":"info"},"original":"Worker exiting (pid: 12)"},"process":{"name":"MainProcess","pid":12,"thread":{"id":140039512761024,"name":"MainThread"}}}
[2024-11-11 11:09:13 +0000] [1] [ERROR] Worker (pid:11) exited with code 3
[2024-11-11 11:09:13 +0000] [1] [ERROR] Worker (pid:12) was sent SIGTERM!
[2024-11-11 11:09:13 +0000] [1] [ERROR] Worker (pid:10) was sent SIGTERM!
[2024-11-11 11:09:13 +0000] [1] [ERROR] Worker (pid:9) was sent SIGTERM!
[2024-11-11 11:09:13 +0000] [1] [ERROR] Shutting down: Master
[2024-11-11 11:09:13 +0000] [1] [ERROR] Reason: Worker failed to boot.