alovajs/alova

[Bug]: `@alova/psc`无法在多个进程**享内存

Closed this issue · 1 comments

这是否是一个 Bug?

  • 我已经确认我要报告的是一个 Bug

这个问题是否已经存在?

  • 我已经确认这个 Issue 没有被报告过

Alova 版本

3.0.0-beta.14

前端框架

React

问题描述

启动多个进程但无法共享内存

在入口处启动同步器

if (cluster.isPrimary) {
console.log('Master starting...');
// ensure start synchronizer in master process
createNodeSharedCacheSynchronizer();
for (let i = 0; i < processesNumber; i++) {
cluster.fork();
}

然后在alova中设置l1Cache

export const alova = createAlova({
baseURL: 'http://example.com',
requestAdapter: mockRequestAdapter,
responded: response => {
if (response.status !== 200) {
throw new Error(`[${response.status}]${response.statusText}`);
}
return response.json();
},
l1Cache: createPSCAdapter(NodeSyncAdapter())
});

@alova/psc是使用的chore/demo分支的代码,与next分支同步过。

期望的表现

可以在多个进程间同步缓存

复现链接

https://github.com/alovajs/alova/blob/chore/demo/examples/server

复现步骤

  1. chore/demo分支
  2. 运行pnpm --filter=server-demo start,将会启动3个进程同时服务
  3. 访问http://127.0.0.1:3000/psc,并点击Start request开始请求接口,它会请求到不同进程。
  4. 查看控制台的输出,如下截图,多个进程未同步缓存
image

系统信息

No response

补充说明

No response

fix in commit #10da6b61