views:

23

answers:

2

I am running my app on the production server for first time. I have a url with admin logon enabled in the app.yml. The script runs when I browse to its URL when running on the development server. However, after uploading to the production server when I go to the same URL I get the following error:

The requested URL /tasks/ was not found on this server.

Why would this occur? I tried updating again.

The URL and script is the third one in the my app.yml file:

##app.yml file
application: generic_app_name
version: 1
runtime: python
api_version: 1

handlers:
    - url: /remote_api
      script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py
      login: admin

    - url: /stats.*
      script: $PYTHON_LIB/google/appengine/ext/appstats/ui.py

    - url: /tasks/SR2pop
      script: PopulateSR2.py
      login: admin


    - url: /
      script: dbsample.py
+1  A: 

Your 3rd handler is going to match only the exact string /tasks/SR2pop. None of your handlers will match /tasks/.

Drew Sears
I agree. Though I wonder if there is a typo in his question since he mentions that he is able to access the URL successfully when running on the development server.
David Underhill
agreed, on development server I enter localhost:8080/tasks/SR2pop and it works, on the production server i enter http://www.app_name.appspot.com/tasks/SR2pop but nothign pops up, just wondering if anyone has any thoughts this has to be something simple.
+1  A: 

Is the capitalization of your script exactly as specified in app.yaml? The production servers are case-sensitive, but if you're developing on Windows, the development server isn't. Check the capitalization of PopulateSR2.py matches the one in app.yaml.

Also, your file is called app.yaml, not app.yml, right?

Nick Johnson
I just solved this last night, along the same thought process, but I was entering everything exactly the same, I ended up just changing the name of the file with no numbers or capitals and now it works fine? lol