在Google App Engine中,如何在服务器启动时运行Python脚本

5 投票
4 回答
3122 浏览
提问于 2025-04-15 19:12

每次开发服务器启动时,能否运行一个脚本?还有在每次部署到谷歌的时候?

我希望应用程序能够根据某些方法返回的结果来填充数据库。

有没有什么办法可以做到这一点?

..fredrik

4 个回答

1

试着在服务器运行程序和执行部署的脚本之间做一个“包装器”。这样的话,当你需要的时候,就可以运行自定义的代码。

2

你可以通过写一个脚本来实现这个,选择你喜欢的脚本语言,脚本里写上你想要的操作,然后运行开发服务器或者执行 appcfg.py update 命令。

4

我在使用appengine的python和django助手。根据我的了解,你不能在部署的时候挂钩任何东西,但你可以在main.py的主函数里加一个检查,看看是否需要进行设置。这个助手就是在第一次请求时这样初始化自己的。我有一段时间没看过webapp了,但我想main.py在那个框架里也差不多是这样工作的。

要注意的是,main是在第一次请求时运行的,而不是你第一次部署的时候。如果appengine为了处理负载启动了一个新的实例,或者因为没有活动而停止了所有实例,这个过程也会发生。所以一定要检查一下是否需要进行初始化,只有在需要的时候才去做。

撰写回答