Comments (6)
Also, I tried to run the example code (without drizlle) from a shared worker, and it does not seems to work, but it works from the main thread.
from sqlocal.
One of the goals of SQLocal is to abstract away the need for your app to deal with the web worker. SQLocal is designed to be used from the main thread, and it handles the workers for you. You won't really get any benefit from trying to use a shared worker. SQLite itself does not do concurrent writes anyway.
My recommendation is to just instantiate SQLocal from the main thread and enable WAL mode. Each instance will connect to the same database and be able to read from it concurrently, and with WAL mode enabled, writes will not block reads.
const { sql } = new SQLocalDrizzle("db.sqlite3");
await sql`PRAGMA journal_mode = WAL;`;
from sqlocal.
@DallasHoff
Thx for your answer,
For more context, I'm buildling a trading app, and I store historical stock price and market analysis in Sqlite.
I use an "analyzer" worker to analyze the market in order to avoid blocking the main thread with big processing.
I was planning on creating a "db-access" worker which instanciate SQLite through SQLocal, do migrations and handle requests from other context through channel, in order to provide some data from SQLite.
The main thread, and the "analyzer" worker needs the data from SQLite respectively to display it and analyze it.
Other workers ("trader", "strategist", ...) would also needs the data.
Does it makes sense to you ?
Best regards,
Carere
from sqlocal.
Yeah, that makes sense. What problem are you running into?
from sqlocal.
I have no problem, I was just wondering about the best way to organize my front-end logic with workers.
Thx for this little discussion, I see now how to implement what I need 🙂
from sqlocal.
Sure thing!
from sqlocal.
Related Issues (20)
- sqlocal easy connect/disconnect HOT 4
- Node support HOT 6
- Unable to parameterize table/column name in query HOT 1
- Feature: Transaction HOT 3
- Replace Sqlite3 with Libsql HOT 1
- sqlite3 result code 10: disk I/O error HOT 8
- Feature request: ability to control instantiation of sqlite db HOT 3
- Error during SvelteKit Server-side Rendering HOT 1
- Error opening WAL db with overwriteDatabaseFile HOT 5
- Using nested literals to construct queries passed to SQLocal.sql HOT 1
- Database maximum size HOT 3
- IndexedDB as a persistence option? HOT 2
- Sqlocal with pglite HOT 1
- Binding in multiple statements within a query HOT 4
- ERR_MODULE_NOT_FOUND when compiling for Node.js HOT 4
- How do you debug or visualize the database? HOT 2
- How to handle adding new tables to the database when using drizzle?
- no such function: REGEXP HOT 4
- Manipulate SQLite files outside the OPFS HOT 7
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 sqlocal.