1
votes

I've setup a Cron job in Google App Engine (Java) and have deployed it to a non default version. Here's an excerpt from cron.xml:

<cron>
  <url>/_ah/cron/argosCheck</url>
  <schedule>every 1 hours</schedule>
</cron>

The cron job appears on the dashboards but it fails:

/_ah/cron/argosCheck
<description>Trigger an Argos Web Services poll</description>
Trigger an Argos Web Services poll   every 1 hours (UTC) 
2012/08/05 22:05:12 on time Failed

I've verified that the handler works, I can trigger that filter manually. Other cron jobs work fine within the default version. The question is: do I need to specify an absolute URL that targets the non-default version where that cron job is deployed? Does the scheduler for cron jobs run using default versions only? (can't recall reading that anywhere, but if it's in the documentation and I've missed it, please let me know)

Similar to this question Testing non-default App Engine task queues.

1

1 Answers

3
votes

Two notes:

  1. You should not register your handlers (servlets) on the /_ah/* path. This is reserved for system services. If you get the mapping wrong you might block access to system provided urls.
  2. You can use target parameter with Cron to define app version.