Background jobs not running.

56 views
Skip to first unread message

kevin...@gmail.com

unread,
Nov 12, 2016, 8:02:45 PM11/12/16
to back{4}app
Hello,

I'd like to reset the values of arrivedEnd and arrivedStart for ALL users to false.

Here is the text of the resetArrived.js file.


/////////////////////////////////////////
Parse.Cloud.job("resetArrivedEnd", function (request, status) { // The query object var query = new Parse.Query(Parse.User);
query.find({ success: function (results) { console.log("Successfully retrivied " + results.length + " invalid logins."); object.set({ success: function (object) { object.set("arrivedEnd", false); object.set("arrivedStart", false); }, error: function (error) { console.log("Error: " + error.code + " - " + error.message); }, useMasterKey: true // VERY IMPORTANT!! }) }) }, error: function (error) { console.log("Error: " + error.code + " - " + error.message); } });
//////////////////////////////////




Server log is spitting back to me:
Cloud Code not loaded: [SyntaxError: Unexpected token )] The server is listening on port 3000

So I know my syntax is wrong somewhere....

Help please?


Respectfully,
Kevin

kevin...@gmail.com

unread,
Nov 14, 2016, 5:29:38 PM11/14/16
to back{4}app
bump

Davi Macêdo

unread,
Nov 21, 2016, 12:01:53 AM11/21/16
to back{4}app
Hi, Kevin.

There is some } an ) in wrong places. Right sintax should be:
Parse.Cloud.job("resetArrivedEnd", function (request, status) {
  // The query object
  var query = new Parse.Query(Parse.User);

  query.find({
    success: function (results) {    
      console.log("Successfully retrivied " + results.length + " invalid logins.");
      object.set({   
        success: function (object) {  
          object.set("arrivedEnd", false);
 object.set("arrivedStart", false);
},          
        error: function (error) {  
 console.log("Error: " + error.code + " - " + error.message);  
        },
useMasterKey: true  // VERY IMPORTANT!!
      });    
    },
    error: function (error) {
      console.log("Error: " + error.code + " - " + error.message);
    }
  });
});

Anyway, what is the first object.set(..) ?

Best.

kevin...@gmail.com

unread,
Nov 21, 2016, 2:12:28 PM11/21/16
to back{4}app
Hi Davi,

Thanks for the reply! 

Well, what I"m trying to do is have the job do a query for ALL users. Then for ALL users, change the values of both arrivedEnd and arrivedStart to FALSE when the job is run.

Here's the new syntax I tried, which is still failing:


===========
Parse.Cloud.job("resetAllArrivals", function (request, status) {
  // The query object
  var query = new Parse.Query(Parse.User);

  query.find({
    success: function (results) {    
      console.log("Successfully retrivied " + results.length + " invalid logins.");
  
  query.each(function (object, err) {
      object.set({   
   success: function (object) {  
     object.set("arrivedEnd", false);
  object.set("arrivedStart", false);
},          
        error: function (error) {  
 console.log("Error: " + error.code + " - " + error.message);  
        },
useMasterKey: true  // VERY IMPORTANT!!
  
  })
      
      })    


    },
    error: function (error) {
      console.log("Error: " + error.code + " - " + error.message);
    }
  });

});

=============

Please note the new object.set call being made... is that not the correct implementation ?

I also have my main.js file setup correctly... at least I believe...

Davi Macêdo

unread,
Nov 21, 2016, 2:54:06 PM11/21/16
to back{4}app
Hi, Kevin.

Please try the code below:
Parse.Cloud.job("resetAllArrivals", function (request, status) {
  // The query object
  var query = new Parse.Query(Parse.User);

  query.find({
    success: function (results) {    
      console.log("Successfully retrivied " + results.length + " invalid logins.");
  
      query.each(function (object, err) {
        object.set("arrivedEnd", false);
        object.set("arrivedStart", false);

        object.save(null, {   
 success: function () {        
     status.success();
 },          
          error: function (error) {  
   console.log("Error: " + error.code + " - " + error.message);
            status.error(error);
          },
 useMasterKey: true  
        });      
      });    
    },
    error: function (error) {
      console.log("Error: " + error.code + " - " + error.message);
      status.error(error);
    }
  });
});

Best!

kevin...@gmail.com

unread,
Nov 21, 2016, 3:10:23 PM11/21/16
to back{4}app
Yes. that worked!

Thank you!!!! Will use this logic and apply it to my other jobs... 

Respectfully,
Kevin 

kevin...@gmail.com

unread,
Nov 21, 2016, 8:47:32 PM11/21/16
to back{4}app
Is there a reason why my Parse query is limited to 100 users ?

Not all of my users are getting returned. 

kevin...@gmail.com

unread,
Nov 21, 2016, 8:49:54 PM11/21/16
to back{4}app
Ok. Turns out Parse limits to 100 users by default: https://parseplatform.github.io/docs/js/guide/

Davi Macêdo

unread,
Nov 21, 2016, 11:08:40 PM11/21/16
to back{4}app
Good to know it worked. Yes. By default query limit is 100, but you can increase it up to 1K using limit() function.

Best!
Reply all
Reply to author
Forward
0 new messages