YtoTech / latex-on-http

Compiles Latex documents through an HTTP API
https://latex.ytotech.com
GNU Affero General Public License v3.0
35 stars 6 forks source link

Correctly report HTTP/URL file fetch timeout or unreachable errors #7

Closed MonsieurV closed 4 years ago

MonsieurV commented 4 years ago

Error logs:

Dec 05 11:25:33 sophie latexonhttp_latex_1 [ERROR app] Exception on /builds/sync [POST] 
Dec 05 11:25:33 sophie latexonhttp_latex_1 Traceback (most recent call last): 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/urllib3/connection.py", line 157, in _new_conn 
Dec 05 11:25:33 sophie latexonhttp_latex_1     (self._dns_host, self.port), self.timeout, **extra_kw 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/urllib3/util/connection.py", line 84, in create_connection 
Dec 05 11:25:33 sophie latexonhttp_latex_1     raise err 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/urllib3/util/connection.py", line 74, in create_connection 
Dec 05 11:25:33 sophie latexonhttp_latex_1     sock.connect(sa) 
Dec 05 11:25:33 sophie latexonhttp_latex_1 TimeoutError: [Errno 110] Connection timed out 
Dec 05 11:25:33 sophie latexonhttp_latex_1 During handling of the above exception, another exception occurred: 
Dec 05 11:25:33 sophie latexonhttp_latex_1 Traceback (most recent call last): 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen 
Dec 05 11:25:33 sophie latexonhttp_latex_1     chunked=chunked, 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/urllib3/connectionpool.py", line 387, in _make_request 
Dec 05 11:25:33 sophie latexonhttp_latex_1     conn.request(method, url, **httplib_request_kw) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/usr/lib/python3.7/http/client.py", line 1229, in request 
Dec 05 11:25:33 sophie latexonhttp_latex_1     self._send_request(method, url, body, headers, encode_chunked) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/usr/lib/python3.7/http/client.py", line 1275, in _send_request 
Dec 05 11:25:33 sophie latexonhttp_latex_1     self.endheaders(body, encode_chunked=encode_chunked) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/usr/lib/python3.7/http/client.py", line 1224, in endheaders 
Dec 05 11:25:33 sophie latexonhttp_latex_1     self._send_output(message_body, encode_chunked=encode_chunked) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/usr/lib/python3.7/http/client.py", line 1016, in _send_output 
Dec 05 11:25:33 sophie latexonhttp_latex_1     self.send(msg) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/usr/lib/python3.7/http/client.py", line 956, in send 
Dec 05 11:25:33 sophie latexonhttp_latex_1     self.connect() 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/urllib3/connection.py", line 184, in connect 
Dec 05 11:25:33 sophie latexonhttp_latex_1     conn = self._new_conn() 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/urllib3/connection.py", line 169, in _new_conn 
Dec 05 11:25:33 sophie latexonhttp_latex_1     self, "Failed to establish a new connection: %s" % e 
Dec 05 11:25:33 sophie latexonhttp_latex_1 urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f545414f7f0>: Failed to establish a new connection: [Errno 110] Connection timed out 
Dec 05 11:25:33 sophie latexonhttp_latex_1 During handling of the above exception, another exception occurred: 
Dec 05 11:25:33 sophie latexonhttp_latex_1 Traceback (most recent call last): 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/requests/adapters.py", line 449, in send 
Dec 05 11:25:33 sophie latexonhttp_latex_1     timeout=timeout 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/urllib3/connectionpool.py", line 720, in urlopen 
Dec 05 11:25:33 sophie latexonhttp_latex_1     method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2] 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/urllib3/util/retry.py", line 436, in increment 
Dec 05 11:25:33 sophie latexonhttp_latex_1     raise MaxRetryError(_pool, url, error or ResponseError(cause)) 
Dec 05 11:25:33 sophie latexonhttp_latex_1 urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='example.com', port=80): Max retries exceeded with url: /example/assets/images/footer-logo.png (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f545414f7f0>: Failed to establish a new connection: [Errno 110] Connection timed out')) 
Dec 05 11:25:33 sophie latexonhttp_latex_1 During handling of the above exception, another exception occurred: 
Dec 05 11:25:33 sophie latexonhttp_latex_1 Traceback (most recent call last): 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app 
Dec 05 11:25:33 sophie latexonhttp_latex_1     response = self.full_dispatch_request() 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/flask/app.py", line 1951, in full_dispatch_request 
Dec 05 11:25:33 sophie latexonhttp_latex_1     rv = self.handle_user_exception(e) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/flask/app.py", line 1820, in handle_user_exception 
Dec 05 11:25:33 sophie latexonhttp_latex_1     reraise(exc_type, exc_value, tb) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise 
Dec 05 11:25:33 sophie latexonhttp_latex_1     raise value 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/flask/app.py", line 1949, in full_dispatch_request 
Dec 05 11:25:33 sophie latexonhttp_latex_1     rv = self.dispatch_request() 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request 
Dec 05 11:25:33 sophie latexonhttp_latex_1     return self.view_functions[rule.endpoint](**req.view_args) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/app/latex-on-http/latexonhttp/api/builds.py", line 125, in compiler_latex 
Dec 05 11:25:33 sophie latexonhttp_latex_1     normalized_resources, on_fetched, get_from_cache=get_resource_from_cache 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/app/latex-on-http/latexonhttp/resources/fetching.py", line 94, in fetch_resources 
Dec 05 11:25:33 sophie latexonhttp_latex_1     fetched_data, fetch_error = resource_fetcher(resource, get_from_cache) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/app/latex-on-http/latexonhttp/resources/fetching.py", line 36, in fetcher_url_file 
Dec 05 11:25:33 sophie latexonhttp_latex_1     response = requests.get(url) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/requests/api.py", line 75, in get 
Dec 05 11:25:33 sophie latexonhttp_latex_1     return request('get', url, params=params, **kwargs) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/requests/api.py", line 60, in request 
Dec 05 11:25:33 sophie latexonhttp_latex_1     return session.request(method=method, url=url, **kwargs) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/requests/sessions.py", line 533, in request 
Dec 05 11:25:33 sophie latexonhttp_latex_1     resp = self.send(prep, **send_kwargs) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/requests/sessions.py", line 646, in send 
Dec 05 11:25:33 sophie latexonhttp_latex_1     r = adapter.send(request, **kwargs) 
Dec 05 11:25:33 sophie latexonhttp_latex_1   File "/root/.local/share/virtualenvs/latex-on-http-zfXpYJxv/lib/python3.7/site-packages/requests/adapters.py", line 516, in send 
Dec 05 11:25:33 sophie latexonhttp_latex_1     raise ConnectionError(e, request=request) 
Dec 05 11:25:33 sophie latexonhttp_latex_1 requests.exceptions.ConnectionError: HTTPConnectionPool(host='example.com', port=80): Max retries exceeded with url: /example/assets/images/footer-logo.png (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f545414f7f0>: Failed to establish a new connection: [Errno 110] Connection timed out'))