簡體   English   中英

使用parse-server和Heroku Scheduler的后台作業

[英]Background job using parse-server & Heroku Scheduler

在我的Android應用程序中使用parse-server和heroku。 想要創建后台作業,就像之前Parse.com提供的那樣,但是似乎無法使其正常工作。 在parser-server-example文件夾中,我添加了一個包含以下內容的jobs.js文件:

var Parse = require('parse/node');
Parse.initialize('my_app_id');
Parse.serverURL = 'https://random-name.herokuapp.com/parse';

function saveSomething(){
var obj = new Parse.Object('my_class', 'random');
obj.save(null, {
    success: function(place){
        console.log("Success!!");
    },
    error: function(place, error){
        console.log("Fail: " + error.message);
    }
});
}

function sayHello() {
console.log('Hello');
}

sayHello();
saveSomething();

sayHello()運行正常,但是在我運行時,saveSomething()收到“錯誤:未經授權”消息:heroku運行node jobs.js。 所以我有兩個問題。

1.這是使用parse-server和heroku創建后台作業的正確方法嗎?

2.“ jobs.js”代碼/在完成后台工作任務時通常應該采取其他措施嗎?

(嘗試將javascript-key添加到Parse.initialize('app-id','javascript-key');沒有任何運氣)

解決方案是添加“ Parse.Cloud.useMasterKey();” 在“ Parse.serverURL =' https: //random-name.herokuapp.com/parse'”行之后,然后在“ Parse.initialize('my_app_id','js-key','master-鍵'); 獲得正確的授權。

var Parse = require('parse/node');
Parse.initialize('app-id', 'js-key','master-key');
Parse.serverURL = 'https://random-name.herokuapp.com/parse/';
Parse.Cloud.useMasterKey();

function saveSomething(){
var MyClass = Parse.Object.extend("MyClass");
var myclass = new MyClass();
myclass.set("columnName", "value");
myclass.save({
    success: function(place){
        console.log("Success!!");
    },
    error: function(place, error){
        console.log("Fail: " + error.message);
    }
});
}

saveSomething();

希望這對某人有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM