Comments (6)
Is an error or something happening?
For what it's worthy, if you're trying to parallel-ize the actual updating of the database, I don't think you're going to see any benefit over single-threaded. UnQLite is embedded in the Python process and there's no socket I/O operations that would make for good places to do context-switching.
from unqlite-python.
It looks like UnQLite is not thread-safe by default. Check out the "Compile-Time Options" section of the docs:
https://unqlite.org/c_api_const.html
from unqlite-python.
My posted code runs without any unhandled exception thrown. I guess there is no error, but there is no update at all, i.e. not a single database entry gets updated.
I choose this DB, because http://unqlite-python.readthedocs.io/en/latest/index.html states it is thread safe. I need several hundred / thousands concurrent threads. It is not about the speed up, but about different connections that receive timeouts/data on different times.
from unqlite-python.
You're best off probably using a single dedicated thread for writing to the UnQLite database. You can use a queue to have the worker threads push updates to the writer thread...I think that will probably work much better for you.
from unqlite-python.
Of course.
Maybe the thread safety info should be removed from the docs?
from unqlite-python.
I pulled it right from the UnQLite official document on their homepage. It says thread-safe and fully re-entrant. I've created an issue symisc/unqlite#71 which should hopefully clarify.
from unqlite-python.
Related Issues (20)
- collection fetch, anyway it will return a value HOT 1
- Question about multithread HOT 2
- Use in multi-process environment? HOT 2
- Flags unavailable via Python HOT 2
- Retrieved values are byte strings (Python 3.7) HOT 6
- Wrong kwarg name in UnQLite() API docs.
- AsyncIO Support? HOT 5
- ValueError when inserting to nonexistent collection HOT 2
- collection.store returs int HOT 3
- empty_collection.last_record_id() is 0 HOT 1
- FR: Binary releases on PyPI HOT 3
- Collection cursor only returns first record HOT 16
- Collection reverse iterator HOT 1
- Unqlite on python 3.10 fails with unqlite.cpython-310-x86_64-linux-gnu.so: undefined symbol: _PyGen_Send HOT 8
- Readme update HOT 1
- Import error HOT 3
- Is it possible to use a samba shared database file? HOT 1
- Cannot install unqlite 0.9.4 on Windows HOT 3
- Latest pip install asks for moving away from setup.py HOT 5
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 unqlite-python.