BigBoy1337
BigBoy1337

Reputation: 4973

How can I add the ./run file for my web process to work with a python/pyramid application on heroku?

I have a pyramid/python application that I want to deploy to heroku using this tutorial: http://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/deployment/heroku.html.

However, when I run the app using heroku ps, I get this error:

2013-03-04T22:17:03+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=sleepy-taiga-7450.herokuapp.com fwd="184.189.243.111" dyno= queue= wait= connect= service= status=503 bytes= 

This is the entire error log:

2013-03-04T22:17:03+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=sleepy-taiga-7450.herokuapp.com fwd="184.189.243.111" dyno= queue= wait= connect= service= status=503 bytes=
2013-03-04T22:24:44+00:00 heroku[web.1]: State changed from crashed to starting
2013-03-04T22:24:48+00:00 heroku[web.1]: Starting process with command `./run`
2013-03-04T22:24:48+00:00 app[web.1]: bash: ./run: No such file or directory
2013-03-04T22:24:50+00:00 heroku[web.1]: Process exited with status 127
2013-03-04T22:24:50+00:00 heroku[web.1]: State changed from starting to crashed

What is the ./run file, and why might it not exist in my situation? How can I add it, and what should I put in it?

here is the ls of the current directory:

boto         development.ini  myproject.sqlite  README.md         runapp.py  tutorial
build        ENV              Procfile          README.txt        setup.cfg  tutorial.egg-info
CHANGES.txt  MANIFEST.in      production.ini    requirements.txt  setup.py   tutorial.sqlite

I think the ./run in the Procfile calls the runapp.py script but I don't know why it can't find mine. its in the document root.

Upvotes: 1

Views: 161

Answers (1)

BigBoy1337
BigBoy1337

Reputation: 4973

Ok so it turns out I had the directions mixed up. I thought the ./run called the runapp.py script. It calls the run script (I hadn't created it yet). I was running those three commands:

#!/bin/bash
python setup.py develop
python runapp.py

seperately on the console and getting confused as to how I could run runapp.py before it was created below (Im an idiot). You have to make a file literally called run (no extension at the end) and paste those three lines into it, and also chmod +x run afterwards. Then the runapp.py script is copied down below. I give credit to Ben Bangert for helping me with this.

Upvotes: 1

Related Questions