在Google App Engine中,如何在服务器启动时运行Python脚本
每次开发服务器启动时,能否运行一个脚本?还有在每次部署到谷歌的时候?
我希望应用程序能够根据某些方法返回的结果来填充数据库。
有没有什么办法可以做到这一点?
..fredrik
4 个回答
1
试着在服务器运行程序和执行部署的脚本之间做一个“包装器”。这样的话,当你需要的时候,就可以运行自定义的代码。
2
你可以通过写一个脚本来实现这个,选择你喜欢的脚本语言,脚本里写上你想要的操作,然后运行开发服务器或者执行 appcfg.py update 命令。
4
我在使用appengine的python和django助手。根据我的了解,你不能在部署的时候挂钩任何东西,但你可以在main.py的主函数里加一个检查,看看是否需要进行设置。这个助手就是在第一次请求时这样初始化自己的。我有一段时间没看过webapp了,但我想main.py在那个框架里也差不多是这样工作的。
要注意的是,main是在第一次请求时运行的,而不是你第一次部署的时候。如果appengine为了处理负载启动了一个新的实例,或者因为没有活动而停止了所有实例,这个过程也会发生。所以一定要检查一下是否需要进行初始化,只有在需要的时候才去做。