We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The documentation states:
Stateless actors can service multiple requests at the same time. Statelessness means that such actors do not have to cater for concurrency issues.
I assumed (and please correct me if I am wrong) that we could call these actors with any concurrency we desire.
Multiple messages being sent to a stateless actor should be processed in parallel
Messages are being processed one at a time
No clue
import nact from "nact"; const system = nact.start(); const delay = (time) => new Promise((res) => setTimeout(res, time)); const ping = nact.spawnStateless( system, async (msg, ctx) => { console.log(msg); console.log(new Date()) await delay(500); throw new Error("oh no!"); }, "ping", { onCrash: (msg, e, ctx) => { console.log(e) return ctx.escalate } } ); for (let i = 0; i < 5; i++) { nact.dispatch(ping, { i, createdAt: new Date() }); }
This outputs:
{ i: 0, createdAt: 2023-07-06T13:43:31.932Z } 2023-07-06T13:43:31.937Z { i: 1, createdAt: 2023-07-06T13:43:31.932Z } 2023-07-06T13:43:32.440Z { i: 2, createdAt: 2023-07-06T13:43:31.932Z } 2023-07-06T13:43:32.942Z { i: 3, createdAt: 2023-07-06T13:43:31.932Z } 2023-07-06T13:43:33.444Z { i: 4, createdAt: 2023-07-06T13:43:31.932Z } 2023-07-06T13:43:33.947Z
I'm trying to run simple tasks in stateless actors and be able to run them with any desired cocurrency
Tested in node v14.21.3 and v18.14.2 on MacOS 13.4.1
The text was updated successfully, but these errors were encountered:
Thanks for reporting this @juanstiza.
Sorry, something went wrong.
Node.js is single-threaded, so it isn't possible to achieve true concurrency.
@larsw That is true, but it is not what this ticket is referencing to. Have you read it?
No branches or pull requests
The documentation states:
I assumed (and please correct me if I am wrong) that we could call these actors with any concurrency we desire.
Expected Behavior
Multiple messages being sent to a stateless actor should be processed in parallel
Current Behavior
Messages are being processed one at a time
Possible Solution
No clue
Steps to Reproduce (for bugs)
This outputs:
Context
I'm trying to run simple tasks in stateless actors and be able to run them with any desired cocurrency
Your Environment
Tested in node v14.21.3 and v18.14.2 on MacOS 13.4.1
The text was updated successfully, but these errors were encountered: