Comments (5)
@cuducos sorry, I am don't know much about this area, but searching by this subject I found this package: multiprocessing - https://docs.python.org/3/library/multiprocessing.html
effectively side-stepping the Global Interpreter Lock by using subprocesses instead of threads.
Probabilly you know about this...
I found too this tutorial and I think he can help us - https://www.toptal.com/python/beginners-guide-to-concurrency-and-parallelism-in-python
from jarbas.
Yep, I used this on #66 — it works fine but I couldn't write tests for it (I mean, the tests I wrote were not working), so still on hold…
from jarbas.
Anyway… further thoughts: in the case of receipts, asyncio
seems more promising than multiprocessing
alone due to long time waiting for the response os a request (not long time waiting for processing). The trick is to start multiple HTTP requests ar once, not necessarily to distribute them among processes/threads ; )
from jarbas.
So, we can start multiple HTTP requests using multiprocessing
or threads and use asyncio
to create an asynchronous HTTP consumer or asyncio
solves the all problems?
from jarbas.
Actually I think that asyncio
would be better to make parallel requests: a coroutine that starts the next request while waits for the current one's response, and so on… this way we can have a lot of requests started in the latency in-between sending a request and getting its response. Later we can start different process like that, but we have to test and see the results first IMHO…
from jarbas.
Related Issues (20)
- New filter "expenses abroad"
- New filter: expense month HOT 2
- Problem loading the Reimbursement fixture
- Problem loading the Companies fixture HOT 6
- Import of sample files fails on windows HOT 1
- Add link to receipt in the Jarbas Dashboard list view HOT 2
- New filter reimbursement in the dashboard if they have (or not) a receipt URL HOT 2
- The 'yes'/'no' dashboard filters HOT 4
- Add a Donate button to README HOT 5
- Bring back Elm tests
- Should every Jarbas' docker container run django migrations every time it starts HOT 8
- Add searchvector command to the README.md HOT 1
- When #285 is merged we need to add more Goss tests HOT 1
- The refactored docker image broke celery? HOT 4
- Use HTTPS in production with Docker HOT 11
- Update do Django 2.0
- File not found (access denied on S3) on example 2 from README HOT 2
- Rename .xz to .csv.xz HOT 1
- Try lower `random_page_cost` on Postgres HOT 4
- Add New Relic environment variables to README.md HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jarbas.