Comments (7)
If this is a question about TypeORM please ask at the project itself. You can ask questions here about workerpool
.
from workerpool.
It's about workerpool, i want to find a way to use Async methods inside workerpool, like typeorm's async methods, it's just an example
from workerpool.
You can "just" use async functions and return Promise like results.
Here is an example: https://jsbin.com/semafew/edit?html,console
from workerpool.
Here is the problem i have with the same code:
import workerpool from "workerpool";
import { User } from "./entities/User";
export const queues = workerpool.pool({
maxWorkers: require("os").cpus().length,
});
async function getUsers() {
function getResults() {
return new Promise(async (resolve, reject) => {
resolve(await User.find());
});
}
return await getResults();
}
const test = await queues.exec(getUsers, []);
User
is the entity from TypeORM.
crosslikes-backend-1 | ReferenceError: User_1 is not defined
crosslikes-backend-1 | at eval (eval at run (/usr/src/app/node_modules/workerpool/src/worker.js:105:11), <anonymous>:6:25)
crosslikes-backend-1 | at new Promise (<anonymous>)
crosslikes-backend-1 | at getResults (eval at run (/usr/src/app/node_modules/workerpool/src/worker.js:105:11), <anonymous>:5:20)
crosslikes-backend-1 | at getUsers (eval at run (/usr/src/app/node_modules/workerpool/src/worker.js:105:11), <anonymous>:9:22)
crosslikes-backend-1 | at Function.eval (eval at run (/usr/src/app/node_modules/workerpool/src/worker.js:105:11), <anonymous>:10:8)
crosslikes-backend-1 | at Function.run (/usr/src/app/node_modules/workerpool/src/worker.js:106:12)
crosslikes-backend-1 | at MessagePort.<anonymous> (/usr/src/app/node_modules/workerpool/src/worker.js:157:27)
crosslikes-backend-1 | at [nodejs.internal.kHybridDispatch] (node:internal/event_target:737:20)
crosslikes-backend-1 | at exports.emitMessage (node:internal/per_context/messageport:23:28)
from workerpool.
The function getUsers
references external code User
. The function is serialized, send to the worker, and then deserialized, and therefore must be completely standalone. In this case, on the worker side there is no User
. You'll have to either embed this class in the function, or create a dedicated worker.
from workerpool.
Is there a way to call the dedicated worker with a class name ?
i try to avoid file paths like this
__dirname + '/myWorker.js'
Thanks for the solutions
from workerpool.
No, just like a regular import
you need to point to the path where the worker script can be found.
from workerpool.
Related Issues (20)
- Make sure stats are always consistent when handling a task result HOT 5
- terminate(true) didn't kill the pool process HOT 3
- [fork-join] Can / How assign task to workers HOT 7
- capture stdio during execution of a task HOT 2
- Guidance on Restarting a Specific Service in Workerpool to Handle Memory Leaks in Playwright HOT 3
- `worker.exit` should set `process.exitCode` instead of calling `process.exit` to allow cleanup HOT 4
- What should I do to solve the error I introduced into the vue project? Do I need to configure something in webpack HOT 4
- Worker thread crashed silently or killed by OS while pool.stats considers it as active task HOT 1
- Syntax error on build following the webpack5 example HOT 2
- Error when testing in react component HOT 2
- send event from worker to main outside of a function HOT 8
- Webworker implementation does not handle on message callbacks. HOT 3
- Note on usage with Promise.all() HOT 1
- Question re: data serialisation HOT 1
- Imported class is stated to be not defined HOT 2
- What's the oldest version of Safari that this package supports? HOT 3
- Is it possible to use workerpool with Webpack 5 for browsers? HOT 4
- DomException when passing parameters to worker (Vue3, webpack5) HOT 4
- release idle worker HOT 6
- Transfer from a worker to the main thread doesn't work in browser.
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 workerpool.