-1

我在https://github.com/jhsu802701/dopplervalueinvesting有一个 Python 2.7 脚本。当我在本地运行 screen.py 脚本时,最终结果是一个新的屏幕输出子目录(在根目录中)和一个 results.csv 文件。

我要做的是把这个脚本放在远程服务器上,每晚运行这个 screen.py 脚本,并使 results.csv 文件公开可读。

我尝试在 Google App Engine 上执行此操作,但无法使其正常工作。Google App Engine 教程围绕着尝试动态创建一个网站,我无法弄清楚如何使根目录中的 index.html 文件以外的任何东西工作。如何使其他文件可供公众阅读?

谷歌应用引擎是要走的路,还是我找错了树?我知道另一条路线是使用 WebFaction,这是一个提供整个 Linux 系统的网络托管服务提供商。(在我当前的网络主机 MDDHosting 上运行我的应用程序不是一种选择,因为如果没有更昂贵的 VPS,lxml 是不可用的。)

总之,我的问题是:

  1. 如何在 Google App Engine 中运行我的 Python 脚本并使输出的 results.csv 文件公开可用?
  2. 如果 Google App Engine 不是我的解决方案,我应该使用 WebFaction 吗?(我已经尝试过 Heroku,但它对我不起作用。)
  3. 我还有哪些其他选择?

我愿意为解决方案付费,但前提是我也获得了网络托管。(我不愿意为我的 dopplervalueinvesting.com 网站和另一个运行我的脚本的主机支付 MDDHosting 费用。)

4

1 回答 1

0

我认为 GAE 应该适合您想要的,但是您可能需要以不同的方式工作,因为正如评论指出的那样,您不能写入文件系统,而必须使用数据存储。

所以你需要在你的 app.yaml 处理程序列表中,比如

- 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在 webapp 请求处理程序中使用),就好像它是动态生成的网页一样。

最后,您希望安排它每晚运行一次 - 我相信使用cron 作业可以做到这一点。

于 2012-12-08T23:07:09.783 回答