Running a Python app on a remote server and displaying the output files

Chris Angelico rosuav at gmail.com
Sun Dec 9 01:38:26 CET 2012


On Sun, Dec 9, 2012 at 7:22 AM, Jason Hsu <jhsu802701 at gmail.com> wrote:
> I have a Python 2.7 script at https://github.com/jhsu802701/dopplervalueinvesting . When I run the screen.py script locally, the end result is a new screen-output sub-directory (within the root directory) and a results.csv file within it.
>
> What I'm trying to do is put this script on a remote server, run this screen.py script every night, and make the results.csv file publicly readable.

Sounds like a cron job and a web server.

> I've tried to do this on Google App Engine, but I can't get it to work. The Google App Engine tutorial revolves around trying to dynamically create a web site, and I haven't been able to figure out how to make anything other than an index.html file in the root directory work. HOW DO I MAKE OTHER FILES PUBLICLY READABLE?

I don't know Google App Engine, but the normal way to do these things
is to simply drop a file into your web server's designated root - for
instance, /var/www/results.csv would be accessible as
http://yourserver/results.csv - just put it next to index.html. But
you may need to configure it, if it's set to a more secure default
setup that allows only html files.

> 1. How do I run my Python script in Google App Engine and make the output results.csv file publicly available?
> 2. If Google App Engine isn't the solution for me, should I use WebFaction? (I already tried Heroku, and it didn't work for me.)
> 3. What are my other options?
>
> I'm willing to pay for a solution, but only if I get web hosting as well. (I'm not willing to pay for MDDHosting for my dopplervalueinvesting.com web site AND another host for running my script.)

Here's a possible solution for you. Make your screen.py web-accessible
(maybe with a password or IP address check, if you don't want it
public) as your means of regenerating the file, and create another one
that returns it. You can then have a cron job on any other computer in
the world - your own home box, for instance - that runs:

wget http://yourserver/screen.py

You can store the csv file as an actual file, or in a database, or
whatever's convenient. You just need the other script to be able to
find it.

ChrisA



More information about the Python-list mailing list