Skip to content
This repository has been archived by the owner on Dec 4, 2018. It is now read-only.

Remove use of threads when retrieving layers #846

Merged
merged 1 commit into from
Dec 22, 2017
Merged

Remove use of threads when retrieving layers #846

merged 1 commit into from
Dec 22, 2017

Conversation

chosak
Copy link
Member

@chosak chosak commented Dec 20, 2017

This change removes the use of multiple threads when retrieving layer JSON. Instead of spawning a new thread for each of the ten layers that need to be retrieved on a request, the layers are retrieved sequentially.

While this may have the effect of slowing down data retrieval somewhat, it simplifies how predictably this code can be expected to run in a web server. This PR is intended for use alongside #845 which removes dependence on an external API entirely, instead making calls via Python directly.

The best way to test this is either with a local setup with regulations-core with a complete production database or by pointing your EREGS_API_BASE to a live endpoint with loaded regs:

$ EREGS_API_BASE=https://www.consumerfinance.gov/eregs-api/ python manage.py runserver

Click around a complex reg, e.g. somewhere in Reg Z and observe how long it takes to load the content. Compare with the master branch to see how much of an impact this change has.

This change removes the use of multiple threads when retrieving layer
JSON. Instead of spawning a new thread for each of the ten layers that
need to be retrieved on a request, the layers are retrieved
sequentially.

While this may have the effect of slowing down data retrieval somewhat,
it greatly simplifies how predictably this code can be expected to run
in a web server.
@chosak chosak merged commit 2a4dafb into master Dec 22, 2017
@chosak chosak deleted the no-threading branch December 22, 2017 17:23
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants