解析服务器云代码没有响应任何查询

时间:2016-10-13 17:26:28

标签: parse-platform cloud-code parse-server

我最近将parseserver迁移到了heroku,除了我的Cloud Code之外,一切看起来都很完美。任何Parse.Query似乎都没有响应。

我可以运行自定义云代码,但是只要我需要运行Parse.Query,请求就会超时。

这是我的代码:

nullptr
然后我打电话给:     curl -X POST -H“X-Parse-Application-Id:xxx”https://xxx.herokuapp.com/parse/functions/get_remaining_minutes?userId=dMbBrRGD1y

并获得暂停

2016-10-13T17:21:21.858269 + 00:00 heroku [router]:at = info method = POST path =“/ classes / _User”host = xxx.herokuapp.com request_id = xxx fwd =“xxx” dyno = web.1 connect = 0ms service = 7ms status = 404 bytes = 225 2016-10-13T17:21:21.788404 + 00:00 app [web.1]:userId = dMbBrRGD1y 2016-10-13T17:21:51.759088 + 00:00 heroku [router]:at = error code = H12 desc =“Request timeout”method = POST path =“/ parse / functions / get_remaining_minutes?userId = dMbBrRGD1y”host = xxxx .herokuapp.com request_id = xxx fwd =“xxx”dyno = web.1 connect = 1ms service = 30000ms status = 503 bytes = 0

我尝试了很多不同的查询方法 - 尝试.first,.get,.find,似乎都做同样的事情 - 超时。如果我跳过.get调用,该函数工作正常,我可以正确响应。但是我显然需要查询我的代码才能工作。

我觉得我缺少一些基本的东西,比如需要或路径设置不正确。

我还要提到我在同一个Heroku应用程序上运行解析服务器和仪表板,如果你认为这会对云代码失败的原因产生影响。

有什么想法吗?

编辑:添加我的index.js代码以启动解析服务器和仪表板

Parse.Cloud.define("get_remaining_minutes", function(request, response) {

var config_name = "RWMTrialMinutes";
var minutesForPeriod = 120;
var isTrial = true;
var periodStartDate = new Date("01/01/2015");
var minutesUsed = 0;

console.log("userId=" + request.params.userId);
var userQuery = new Parse.Query(Parse.User);

userQuery.get({ useMasterKey: true }).then(request.params.userId, {
    success: function(user) {
       console.log("success");
        response.success(100);
    },
    error: function(object, error) {
        console.log("failed");
        response.error(error);
    }
});
});

1 个答案:

答案 0 :(得分:0)

原来有两个问题 - 首先服务器配置不正确。 SERVER_URL没有/解析它 - 并且由于PARSE_MOUNT属性被用于在express中路由,我错过了它。其次,useMasterKey的语法需要像.get()这样 - 我从某处在线复制了代码并且它不正确。

userQuery.get(request.params.userId, { useMasterKey:true, success: function(user)....