mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
doc: add note about AsyncResource for Worker pooling
When implementing a pool for Worker threads, the correlation between posting tasks and getting their results may get lost, depending on the implementation. The `AsyncResource` API is the primary way to solve that issue, so link it from the recommendation in the worker docs. (This was brought up at the collaborator summit in Berlin.) PR-URL: https://github.com/nodejs/node/pull/28023 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
This commit is contained in:
parent
cde3928a10
commit
55de20999b
@ -49,6 +49,10 @@ The above example spawns a Worker thread for each `parse()` call. In actual
|
|||||||
practice, use a pool of Workers instead for these kinds of tasks. Otherwise, the
|
practice, use a pool of Workers instead for these kinds of tasks. Otherwise, the
|
||||||
overhead of creating Workers would likely exceed their benefit.
|
overhead of creating Workers would likely exceed their benefit.
|
||||||
|
|
||||||
|
When implementing a worker pool, use the [`AsyncResource`][] API to inform
|
||||||
|
diagnostic tools (e.g. in order to provide asynchronous stack traces) about the
|
||||||
|
correlation between tasks and their outcomes.
|
||||||
|
|
||||||
## worker.isMainThread
|
## worker.isMainThread
|
||||||
<!-- YAML
|
<!-- YAML
|
||||||
added: v10.5.0
|
added: v10.5.0
|
||||||
@ -653,6 +657,7 @@ active handle in the event system. If the worker is already `unref()`ed calling
|
|||||||
`unref()` again will have no effect.
|
`unref()` again will have no effect.
|
||||||
|
|
||||||
[`'close'` event]: #worker_threads_event_close
|
[`'close'` event]: #worker_threads_event_close
|
||||||
|
[`AsyncResource`]: async_hooks.html#async_hooks_class_asyncresource
|
||||||
[`Buffer`]: buffer.html
|
[`Buffer`]: buffer.html
|
||||||
[`EventEmitter`]: events.html
|
[`EventEmitter`]: events.html
|
||||||
[`EventTarget`]: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget
|
[`EventTarget`]: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget
|
||||||
|
Loading…
Reference in New Issue
Block a user