问题标签 [continuation-local-storag]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1047 浏览

node.js - continuation-local-storage 上下文在异步瀑布中丢失

我正在尝试使用 continuation-local-storage 模块在我的整个应用程序中使用“currentUser”。

调用异步瀑布时,上下文会丢失。

控制台打印是

解决这个问题是通过包装 ns.bind(fn2) 但这意味着需要为我有异步的地方更改整个应用程序代码。

我究竟做错了什么?

任何帮助表示赞赏:)

0 投票
1 回答
1695 浏览

mysql - 用 cls 续集没有获取当前上下文

我正在尝试使用 sequelize cls 和 logger 模块记录 mysql 查询。在这我失去了命名空间的上下文,Request-Id它打印空白或一些随机的先前Request-Id

节点版本:8.9.4
续集:4.33.4
cls-hooked:4.2.2

任何帮助/解决方案表示赞赏。

mysql.js

logger.js

0 投票
1 回答
2209 浏览

node.js - 执行请求期间节点 CLS 上下文丢失

我正在使用https://github.com/jeff-lewis/cls-hooked来跨异步回调保留执行上下文。我看到在请求的生命周期内上下文下降。

我知道https://github.com/nodejs/diagnostics/blob/master/tracing/AsyncHooks/problematic-modules.md模块会破坏异步连续性。

如何找出哪些其他模块正在破坏我的异步连续性?该应用程序是基于 express 的 node.js 服务器。

0 投票
1 回答
993 浏览

node.js - Express:continuation-local-storage 可以处理哪些负载?

我想为我的快速应用程序启用类线程存储,该应用程序每分钟处理约 100 到 300 个 API 调用。我玩过 continuation-local-storage (和 cls-hooked,因为我在节点 8.9.0 上),但 CPU 峰值非常高(500 倍正常和不水平)并且导致服务器崩溃。端点主要进行 CPU 轻量同步计算(例如调用 API、进行查找、很少执行 I/O 密集型任务)

有人有使用 Express 大规模运行 csl 的经验吗?

0 投票
1 回答
192 浏览

node.js - 节点:无法使用 express 在 gRPC 回调中调用 continuation-local-storage 键

我正在尝试将 ID 存储在 continuation-local-storage 中,以便在 gRPC 请求成功后将其输出到日志中。我在应用程序开始时创建命名空间,然后在中间件中设置 ID(在完整的实现中,ID 将在请求中出现)。然后我尝试在 get('/') 中获取 ID。获取 ID 有效,但我无法在 gRPC 请求中获取它:

应用程序.js

index.js

这在日志中输出:

我预计两次都是123。为什么我不能从 gRPC 请求中的命名空间中获取值?

0 投票
0 回答
14 浏览

koa - 为什么在代理 bunyan 时出现错误

我正在尝试使用 cls-proxify 为每个请求创建 bunyan 实例,但在此代码上:

我有一个错误:

TypeError [ERR_INVALID_ARG_TYPE]:“块”参数必须是字符串类型或 Buffer 或 Uint8Array 的实例。在新的 NodeError 处收到 undefined (node:internal/errors:278:15)