【发布时间】:2018-07-23 13:31:07
【问题描述】:
GAE 不会通过 gcloud 更新已部署的代码。例如,我创建了这个方法:
main.py
@app.route('/test',methods=['GET'])
def test():
print 'print test'
return 'test'
app.yaml
runtime: python27
api_version: 1
threadsafe: true
runtime_config:
python_version: 2
instance_class: F2
handlers:
- url: /.*
script: main.app
libraries:
- name: flask
version: 0.12
部署应用程序:
gcloud app deploy app.yaml queue.yaml --project $PROJECT
然后我在访问 /test 时收到 404。
我追查到日志错误:
此请求导致为您的应用程序启动一个新进程, 从而导致您的应用程序代码第一次被加载。 因此,与典型的请求相比,此请求可能需要更长的时间并使用更多的 CPU 申请您的申请。
我查看了this article,它指出我不应该在每次访问该 URL 时都收到错误消息。我愿意。
我将--verbosity=info 添加到我的部署中,一切看起来都很棒,除了:
INFO:找不到任何与 [应用程序路径]。云诊断工具可能无法显示 此部署的正确源代码。
代码在调试器中出现更新,这很奇怪。最新版本 100% 部署在 App Engine 控制面板中。
这真的很令人困惑,因为在部署时,没有 repo,但代码出现在调试器中,但由于资源不足,端点无法运行。
这里似乎发生了很多事情,但不确定是什么问题。
更新
有些帖子建议进行热身。我遵循了here 的指导方针,但仍然没有骰子。我在访问 /test 和 /_ah/warmup 时收到 404。
【问题讨论】:
-
“此请求导致...”日志基本上只是宣布请求的冷启动,预计在初始部署时。此外,您无需指定
runtime_config。另外,请尝试仅在requirements.txt文件中指定 Flask,而不是在app.yaml中指定。
标签: python python-2.7 google-app-engine