Reputation: 2158
I start receiving errors from the CRON service even if I have not a single cron.yaml file defined.
The cron task runs every 4 hours.
I really don't know where to look at in order to correct such behaviour. Please tell me what kind of information is needed to correct the error.
Cron Job : /admin/push/feedbackservice/process - Query APNS Feedback service and remove inactive devices
Schedule/Last Run/Last Status (All times are UTC) : every 4 hours (UTC) 2014/06/10 07:00:23 on time Failed
Cron job: /admin/push/notifications/cleanup - Remove no longer needed records of processed notifications
Schedule/Last Run/Last Status (All times are UTC) : every day 04:45 (America/New_York) - 2014/06/09 04:45:01 on time Failed
2014-06-10 09:00:24.064 /admin/push/feedbackservice/process 404 626ms 0kb AppEngine-Google; (+http://code.google.com/appengine) module=default version=1
0.1.0.1 - - [10/Jun/2014:00:00:24 -0700] "GET /admin/push/feedbackservice/process HTTP/1.1" 404 113 - "AppEngine-Google; (+http://code.google.com/appengine)" "xxx-dev.appspot.com" ms=627 cpu_ms=353 cpm_usd=0.000013 queue_name=__cron task_name=471b6c0016980883f8225c35b96 loading_request=1 app_engine_release=1.9.5 instance=00c61b17c3c8be02ef95578ba43
I 2014-06-10 09:00:24.063
This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application.
Upvotes: 1
Views: 712
Reputation: 394
The tip from @Greg above solved that problem for me.
Note the full sequence of events:
A past version of the application included a cron.yaml file that ran every hour
In a successive version, I removed the cron.yaml file, thinking that was enough, but then I discovered that the cron jobs were still running!
Uploading an EMPTY cron.yaml file didn't change things either
Uploading a cron.yaml file with only "cron:" in it did it -- the cron jobs just stopped.
From the above I reckon that the way things work is this: when a cron.yaml file is found it is parsed, and if the syntax is correct, its cron jobs are loaded in the app server. And apparently, just removing the cron.yaml file from a successive version, or loading an empty one (i.e. un-parseable, bad syntax) doesn't remove the cron jobs. The only way to remove the cron jobs is to load a new, PARSEABLE cron.yaml file, i.e. with the "cron:" line, but with no actual jobs after that.
And the proof of the pudding is that after you do that, you can now remove cron.yaml from successive versions, and those old cron jobs will not come back any more.
Upvotes: 1