2012-12-08 3 views
-1

https://github.com/jhsu802701/dopplervalueinvesting에 Python 2.7 스크립트가 있습니다. screen.py 스크립트를 로컬에서 실행할 때 최종 결과는 새로운 화면 출력 하위 디렉토리 (루트 디렉토리 내)와 그 내부에있는 results.csv 파일입니다.원격 서버에서 Python 응용 프로그램 실행 및 출력 파일 표시

내가하려는 것은이 스크립트를 원격 서버에두고 매일 밤이 screen.py 스크립트를 실행하고 results.csv 파일을 공개적으로 읽을 수있게 만드는 것입니다.

Google App Engine에서이 작업을 시도했지만 제대로 작동하지 않습니다. Google App Engine 자습서는 웹 사이트를 동적으로 만들려고 노력하고 있으며 루트 디렉토리에서 index.html 파일 이외의 작업을 수행하는 방법을 파악하지 못했습니다. 어떻게 다른 파일을 읽을 수 있습니까?

Google App Engine을 갈 길이 있습니까, 아니면 잘못된 트리를 짖고 있습니까? 나는 다른 경로가 전체 Linux 시스템을 제공하는 웹 호스팅 제공 업체 인 WebFaction을 사용하고 있다는 것을 알고 있습니다. (. lxml이 훨씬 더 비용이 많이 드는 VPS없이 사용할 수 없기 때문에, 옵션을 선택하지 않습니다 내 현재 웹 호스트, MDDHosting에 내 응용 프로그램을 실행) 요약

, 내 질문은 :

  1. 는 어떻게 실행합니까 Google App Engine의 Python 스크립트를 사용하고 결과 results.csv 파일을 공개적으로 사용 가능하게 만드시겠습니까?
  2. Google App Engine이 나를위한 해결책이 아닌 경우 WebFaction을 사용해야합니까? (나는 이미 Heroku를 시도했고, 그것은 나를 위해 작동하지 않았다.)
  3. 다른 옵션은 무엇입니까?

나는 솔루션을 지불 할 의향이 있지만, 웹 호스팅뿐입니다. (나는 dopplervalueinvesting.com 웹 사이트의 MDDHosting과 내 스크립트를 실행하는 다른 호스트에 대해 기꺼이 지불하지 않을 것입니다.)

+0

Google 시스템 엔진을 사용하면 파일 시스템에 쓸 수 없으므로 [datastore API] (https://developers.google.com/appengine/docs/python/datastore/)를 사용하여 콘텐츠를 저장해야합니다. 나는 전체 코드를 읽지 않았으며, 사용하고자하는 경우 [app-engine 's API] (https://developers.google.com/appengine/kb/libraries)를 사용하기 위해 다른 부분을 조정해야 할 수도 있습니다. – mata

답변

0

GAE는 당신이 원하는 것에 적합해야한다고 생각하지만, 주석으로 지적했듯이 파일 시스템에 쓸 수는 없지만 대신 데이터 저장소를 사용해야합니다.

그래서 당신은 핸들러의 당신의 애플리케이션 제목 목록에

- url: /results.csv 
    script: deliver_results_file.py 
- url: /screen 
    login: admin 
    script: screen.py 

screen.py과 같은 몇 가지 편리한 형식으로 데이터 저장소에 결과를 저장 할 필요가 필요합니다. deliver_results_file.py는 데이터 저장소를 쿼리하고 결과가 CSV 형식이 아닌 경우 적절하게 변환합니다. 그런 다음 형식이 지정된 데이터를 동적으로 생성 된 웹 페이지 인 것처럼 출력에 직접 씁니다 (일반적으로 웹 응용 프로그램 요청 핸들러 내에서 self.response.out.write 사용).

마지막으로 밤에 한 번 실행되도록 예약하고 싶습니다. cron jobs을 사용하여 가능하다고 생각합니다.

관련 문제