简体   繁体   中英

nodejs square cube evaluator throwing Maximum call stack size exceeded

A client is connected to a nodejs hosted cube evaluator using websockets.

When the limit is set to anything over 900 the server blows up with the following error:

// Copyright Joyent, Inc. and other Node contributors.
^
RangeError: Maximum call stack size exceeded

The code was copied straight from the websites getting started guide Ie

Client

var socket = new WebSocket("ws://nodeserver/1.0/event/get");

socket.onopen = startReceiving;

function startReceiving() {
    var yesterday = new Date();
    yesterday.setDate(yesterday.getDate() - 1);
    var startDate = yesterday.getTime();

            socket.send(JSON.stringify({
                "expression": "some_event(param1,param2,param3,param4).eq(param1,'SomeValue')",
                "start": startDate,
                limit: 20000
            }));

            socket.send(JSON.stringify({
                "expression": "someother_event(param1,param2,param3,param4).eq(param1,'SomeOtherValue')",
                "start": startDate,
                limit: 20000
            }));

}

socket.onmessage = function (message) {
    var event = JSON.parse(message.data);
    // Do something with event
};

Server

var cube = require("cube");
var appConfig = require('./server.config.js');

var evaluatorOptions = appConfig.evaluatorOptions;

var registerServer = function(options, cubeSubject) {
    var server = cube.server(options);
    server.register = function(db, endpoints) {
        cubeSubject.register(db, endpoints);
    };
    server.start();
};

registerServer(evaluatorOptions, cube.evaluator);

Can anyone suggests what I'm doing wrong here?

获取最新版本的多维数据集库解决了上述问题。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM