gpt4 book ai didi

heroku - 使用 Redis 解析 LiveQuery 独立服务器

转载 作者:可可西里 更新时间:2023-11-01 11:25:09 25 4
gpt4 key购买 nike

问题描述

当使用 Redis 运行单独的 Parse Server 和 Parse LiveQuery Servers 以实现可扩展性时,Parse Server 不会发布到 Redis 以将新更新推送到 LiveQuery Servers。

当前设置如下:

--主要的解析服务器--

```

var api = new ParseServer({
databaseURI: process.env.DATABASE_URI,
cloud: process.env.CLOUD_CODE_MAIN,
appId: process.env.APP_ID,
masterKey: process.env.MASTER_KEY,
fileKey: process.env.FILE_KEY,
serverURL: process.env.SERVER_URL,
liveQuery: {
classNames: ["Random","ClassNames"],
redisUrl: process.env.REDIS_URL
}

```

--解析实时查询服务器--

```

var api = new ParseServer({
appId: process.env.APP_ID,
masterKey: process.env.MASTER_KEY,
serverURL: process.env.SERVER_URL
});

var app = express();

var mountPath = process.env.PARSE_MOUNT || '/leap';
app.use(mountPath, api);

var port = process.env.PORT;
var httpServer = require('http').createServer(app);

httpServer.listen(port, function() {
console.log('parse-live-query-server running on port ' + port + '.');
});

// This will enable the Live Query real-time server
ParseServer.createLiveQueryServer(httpServer, {
redisURL: process.env.HEROKU_REDIS_URL
});

```

重现步骤

  • 在 Heroku 上创建一个主要的解析服务器应用程序,添加一个 Heroku Redis 作为附加组件
  • 在 Heroku 上创建一个单独的解析 LiveQuery 服务器应用程序并链接到 Redis
  • 相应地设置 Heroku 中的所有环境变量(使用 REDIS_URL 链接到连接到 Redis 实例时给出的更新的 Redis 附加 URL)
  • 升级到付费 dynos 和 Redis
  • 将客户端应用程序订阅指向 LiveQuery Server URL
  • 从订阅的客户那里发送一条新消息

预期结果

期望主解析服务器将 LiveQuery 的更新发布到 Redis 以供 LiveQuery 服务器(订阅)读取,后者又会调用客户端中的 handle 方法。

实际结果

消息已创建,但客户端中的句柄方法从未被调用。

请记住,当主解析服务器和 LiveQuery 服务器在本地运行且 Redis 从 Heroku 运行时,此设置将起作用。

环境设置

  • 服务器

    • 解析服务器版本:2.5.3
    • 操作系统:Heroku Dyno 和本地 MacOS High Sierra
    • 硬件:Heroku 网络应用
    • 参见上面关于本地和 Heroku 配置的描述
  • 数据库实验室

日志/跟踪

Redis 显示两个事件连接,Main Parse Server 显示消息对象的创建,重新加载客户端 View 将显示创建的消息。

最佳答案

您在发布端输错了参数“redisURL”。它是“redisURL”,而不是“redisUrl”。

关于heroku - 使用 Redis 解析 LiveQuery 独立服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46489751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com