Parse のバックグラウンドで 1 時間ごとに実行するジョブを作成しています。私のデータベースには 2 つのテーブルがあります。1 つ目は のリストを含みQuestion
、2 つ目はすべてのユーザー\質問合意ペア ( QuestionAgreement
) をリストします。当初の私の計画では、クライアントにQuestionAgreement
s 自体をカウントさせるだけでしたが、これにより、実際にはなくすことができる多くのリクエストが発生することがわかったので、このバックグラウンド ジョブでカウントを実行してから、それと直接フィールドQuestion
。
これが私の試みです:
Parse.Cloud.job("updateQuestionAgreementCounts", function(request, status) {
Parse.Cloud.useMasterKey();
var query = new Parse.Query("Question");
query.each(function(question) {
var agreementQuery = new Parse.Query("QuestionAgreement");
agreementQuery.equalTo("question", question);
agreementQuery.count({
success: function(count) {
question.set("agreementCount", count);
question.save(null, null);
}
});
}).then(function() {
status.success("Finished updating Question Agreement Counts.");
}, function(error) {
status.error("Failed to update Question Agreement Counts.")
});
});
問題は、これがいくつかの でのみ実行されているように見えQuestion
、その後停止し、解析ダッシュボードのジョブ ステータス セクションに「成功」と表示されることです。問題は、時期尚早に戻ってくることだと思います。ここに私の質問があります:
1 - これが時期尚早に戻ってこないようにするにはどうすればよいですか? (これが実際には私の問題であると仮定します。)
2 - クラウド コードをデバッグする最良の方法は何ですか? これはクライアント側ではないので、ブレークポイントなどを設定する方法がありませんね。