当使用Redis运行单独的Parse Server和Parse LiveQuery Server以实现可伸缩性时,Parse Server不会发布到Redis,以便将新的更新下推到LiveQuery Server。
当前设置如下:
- MAIN PARSE SERVER -
```
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
}
```
- PARSE LIVEQUERY SERVER -
```
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
});
```
期望主解析服务器将LiveQuery服务器(订阅)读取的LiveQuery更新发布到Redis,然后调用客户端中的句柄方法。
消息已创建,但客户端中的handle方法从未被调用。
请记住,当主解析服务器和LiveQuery服务器在本地运行且Heroku运行Redis时,此设置将起作用。
服务器
数据库 MLAB
Redis显示两个活动连接,Main Parse Server显示消息对象的创建,重新加载客户端视图将显示已创建的消息。
答案 0 :(得分:0)
您在发布方面输入了错误的参数“redisURL”。它是“redisURL”,而不是“redisUrl”。