最近(在一年内),当我将更新部署到 App Engine 应用程序时,它继续提供以前的Python代码。
我可以到控制台下面:
版本 - >调试 - >源
看到已部署最新版本。当它出错时,日志中给出的链接指向新的源,但基于明确的结果,它实际上是服务的旧源。这已发生在多个应用程序上,唯一的解决方案是等待一天再试一次。
我用来从本地Windows开发环境部署的命令是:
gcloud app deploy --project xxxxxxxxxx --version 1
我试过碰撞版本号,但结果是一样的。
我能错过什么?
进一步尝试:我将deploy命令更改为:
gcloud app deploy --project xxxxxxxx --promote --stop-previous-version
我删除了版本开关,以便App Engine创建自己的版本编号。结果是一样的:以前的版本继续服务。
为了验证,我添加了一个记录行:
logging.info('Last edit: 5/28/2018 11:08')
client_id = os.environ['CLIENT_ID']
logging.info('CLIENT_ID = ' + str(client_id))
第一行被添加,另外两行是旧的。在日志跟踪中,它显示第二个日志的输出,而不是第一个日志的输出。真正奇怪的是,日志中的行号表示中间行,因此显示新源,但执行旧源。
答案 0 :(得分:3)
我正在使用原始的App Engine SDK for Python。显然,您必须在本地运行才能生成.pyc文件。它在本地工作,但在网络上遇到问题。所以我做了一些调整来解决这个问题,但之后没有尝试在本地运行。因此,虽然上传的.py是新的,但.pyc已经过时了。