tilde-lab / metis-client Goto Github PK
View Code? Open in Web Editor NEWMetis infrastructure API client in Python
License: BSD 3-Clause "New" or "Revised" License
Metis infrastructure API client in Python
License: BSD 3-Clause "New" or "Revised" License
Occurs randomly among requests and seemingly does not influence anything.
Task exception was never retrieved
future: <Task finished name='StreamConsumerTask' coro=<MetisStreamNamespace._stream_consumer() done, defined at /usr/local/lib/python3.9/dist-packages/metis_client/namespaces/stream.py:34> exception=MetisException("Unexpected exception for 'http://localhost:3000/v0' with - ")>
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/metis_client/client.py", line 131, in _request
result = await self._session.request(method, url, **aio_opts)
File "/usr/local/lib/python3.9/dist-packages/aiohttp/client.py", line 560, in _request
await resp.start(conn)
File "/usr/local/lib/python3.9/dist-packages/aiohttp/client_reqrep.py", line 899, in start
message, payload = await protocol.read() # type: ignore[union-attr]
File "/usr/local/lib/python3.9/dist-packages/aiohttp/streams.py", line 616, in read
await self._waiter
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/metis_client/namespaces/stream.py", line 57, in _stream_consumer
await self._root.v0.ping()
File "/usr/local/lib/python3.9/dist-packages/metis_client/namespaces/v0.py", line 29, in ping
await self._client.request(url=self._base_url, method="HEAD", json={})
File "/usr/local/lib/python3.9/dist-packages/metis_client/client.py", line 157, in _request
raise MetisException(
metis_client.exc.MetisException: Unexpected exception for 'http://localhost:3000/v0' with -
Currently the stack trace is not really helpful:
File "/home/eb/metis-client/lib/python3.8/site-packages/metis_client/helpers.py",
line 133, in metis_error_to_raise
raise err(status=dto["status"], message=msg)
metis_client.exc.MetisError
OTOH this seems to be so GitHub-specific, and if we ever move to something else away from MSFT (Gitea?) we nearly lose all this.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
.github/workflows/linter.yml
actions/checkout v4
actions/setup-python v4
.github/workflows/pr.yml
actions/checkout v4
actions/setup-python v4
.github/workflows/push.yml
actions/checkout v4
actions/setup-python v4
commitizen-tools/commitizen-action 4498afe6f2f1c5993fb29f22db7b597538c00aae
softprops/action-gh-release c9b46fe7aad9f02afd89b12450b780f52dacfb2d
.github/workflows/release.yml
actions/checkout v4
actions/setup-python v4
.github/workflows/test.yml
actions/checkout v4
actions/setup-python v4
actions/upload-artifact v3
pyproject.toml
aiohttp >= 3.7.4
aiohttp-sse-client >= 0.2.1
asgiref >= 3.5.2
typing-extensions >= 4.2.0
yarl >= 1.6.3
lint/black >= 23.1
lint/mypy >= 1.0.0, <2
lint/pylint-per-file-ignores >= 1
test/pytest-aiohttp >= 1.0.4, <2
@knopki as mentioned in Materials-Consortia/optimade-python-tools#1939 (comment) it is not easy to detect the event loops handled on Binder and Google Colab automatically. Let's discuss that as you have a minute.
Documented in https://docs.aiohttp.org/en/stable/client_reference.html, sock_connect
is set to 10 minutes, which might be too much:
metis-client/metis_client/client.py
Line 238 in 00639fa
How is it related to a general client timeout
?
we need some kind of guard, otherwise it's too easy to shoot in own leg...
Currently, in case of some errors, this waits forever, and the synchronous client hangs on:
...
File "/home/eb/metis-client/lib/python3.8/site-packages/asgiref/sync.py", line 218, in __call__
current_executor.run_until_future(loop_future)
File "/home/eb/metis-client/lib/python3.8/site-packages/asgiref/current_thread_executor.py", line 59, in run_until_future
work_item = self._work_queue.get()
File "/usr/lib/python3.8/queue.py", line 170, in get
self.not_empty.wait()
File "/usr/lib/python3.8/threading.py", line 302, in wait
waiter.acquire()
Probably, some timer should be presented.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.