1
votes

I am trying to get my first cron job working on GAE using Python but it keeps failing with a 404 error in the logs. I can get the script to run just by going to the root directory in my browser, but I can't get to it via the directory.

app.yaml:

application: mythosapp
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /updateRSS/daily
  script: updateRSS.app
  login: admin
- url: /.*
  script: updateRSS.app

cron.yaml:

cron:
- description: RSSUpdate daily
  url: /updateRSS/daily
  schedule: every 1 minutes
  timezone: America/New_York

If I go to http://mythosapp.appspot.com, it works fine and runs the script but I can't get it to run via cron. The logs look like this:

/updateRSS/daily 404 33ms 0kb AppEngine-Google; 0.1.0.1 - - [16/Jul/2013:18:14:23 -0700] "GET /updateRSS/daily HTTP/1.1" 404 113 - "AppEngine-Google; (+http://code.google.com/appengine)" "mythosapp.appspot.com" ms=34 cpu_ms=0 cpm_usd=0.000013 queue_name=__cron task_name=b6d467d8801c75443f9a4fa1924cfaa5 app_engine_release=1.8.2

I interpret this to mean that it is having trouble calling the script from the /updateRSS/daily directory, but I don't know why. What is the issue?

1
How are you directing URL's within updateRSS? Can you provide a copy of updateRSS.py? Do you get a 404 error when you visit mythosapp.appspot.com/updateRSS/daily via your web browser? - Andrew

1 Answers

2
votes

Make sure you're redirecting the URL's appropriately within the updateRSS.py file. For example:

updateRSS.py

app = webapp.WSGIApplication([
    ('/updateRSS/daily', yourClass.yourMethod)
    ,('/.*', yourClass.yourMethod)], debug=True)