sorgerlab / indra

INDRA (Integrated Network and Dynamical Reasoning Assembler) is an automated model assembly system interfacing with NLP systems and databases to collect knowledge, and through a process of assembly, produce causal graphs and dynamical models.
http://indra.bio
BSD 2-Clause "Simplified" License
171 stars 65 forks source link

Add more robust retry to the pubmed client's send_request #1426

Closed kkaris closed 9 months ago

kkaris commented 9 months ago

This PR adds a more robust retry architecture for the send_request function in the pubmed client by adding a recursive retry with a randomly increased sleep time between retries.

The setup has been stress-tested with four simultaneous test runs of tests/test_pubmed_client.py.

kkaris commented 9 months ago

The failed test is from test_db_rest, I'll check that out as well.

kkaris commented 9 months ago

Re-ran the tests so that they would run simultaneously