Connectivity to `pdfpiw.uspto.gov` broken?

Aperta
#74 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
python
Ambito
backend

Direzione di ricerca

Start with patzilla/access/uspto/pdf.py at the requests.get call shown in the traceback, then read patzilla/access/generic/pdf.py around pdf_universal_real to understand how failures affect callers and resource use. Check the existing tests for USPTO PDF fetching and error handling. Done means repeated connection timeouts no longer leave the web server unresponsive, with the intended behavior for this unavailable source made clear.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Problem

The system is experiencing those errors which apparently lead to resource consumption that makes the web server no longer respond to any requests after a few iterations. Why?

2025-08-04 16:27:49,857 INFO     [patzilla.access.uspto.pdf               ][MainThread] PDF US1748277A: Accessing USPTO document server: http://pdfpiw.uspto.gov/fdd/77/482/017/0.pdf
2025-08-04 16:29:57,153 WARNING  [patzilla.access.generic.pdf             ][MainThread] PDF US1748277A: Not available from USPTO. HTTPConnectionPool(host='pdfpiw.uspto.gov', port=80): Max retries exceeded with url: /fdd/77/482/017/0.pdf (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7bcc4d0>: Failed to establish a new connection: [Errno 110] Connection timed out',))
2025-08-04 16:29:57,154 ERROR    [patzilla.access.generic.pdf             ][MainThread] Traceback (most recent call last):
  File "/path/to/site-packages/patzilla/access/generic/pdf.py", line 80, in pdf_universal_real
    response.pdf = uspto_fetch_pdf(patent)
  File "/path/to/site-packages/beaker/cache.py", line 599, in cached
    return cache[0].get_value(cache_key, createfunc=go)
  File "/path/to/site-packages/beaker/cache.py", line 322, in get
    return self._get_value(key, **kw).get_value()
  File "/path/to/site-packages/beaker/container.py", line 378, in get_value
    v = self.createfunc()
  File "/path/to/site-packages/beaker/cache.py", line 597, in go
    return func(*args, **kwargs)
  File "/path/to/site-packages/patzilla/access/uspto/pdf.py", line 108, in fetch_pdf
    response = requests.get(url, headers={'User-Agent': regular_user_agent})
  File "/path/to/site-packages/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/path/to/site-packages/requests/api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
  File "/path/to/site-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/path/to/site-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/path/to/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
ConnectionError: HTTPConnectionPool(host='pdfpiw.uspto.gov', port=80): 
Max retries exceeded with url: /fdd/77/482/017/0.pdf (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7bcc4d0>: 
Failed to establish a new connection: [Errno 110] Connection timed out',))

Thoughts

We probably need to turn off this subsystem so it no longer causes any troubles? Or improve error handling at this spot? Or try to switch to another data source URL, if there is any?

Lingua principale
Python
Stelle
123
Fork
31
Merge medio
2h 50m
PR unite (30g)
66

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ip-tools/patzilla

Tutte le issue di ip-tools/patzilla

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.