gpt4 book ai didi

python - App Engine 给出有关过期文件的错误

转载 作者:太空宇宙 更新时间:2023-11-03 20:42:18 26 4
gpt4 key购买 nike

为了非常清楚地说明,以下是有关我的设置的一些初始信息:

平台:Google App Engine

环境类型:标准

运行时:Python 3

Python 框架: Flask

Web 服务器: Gunicorn,2 个工作人员

这是一个在 GAE 标准 python3 运行时上运行的 Flask 应用程序。

相关文件结构:

- api.py
- services/
---- HighLow.py

正如您从文件结构中看到的那样,主 Flask 应用程序文件是 api.py

api.py 然后导入 services/HighLow.py

来自 HighLow.py 的相关代码:

def get_today_for_user(self, uid):
#Connect to MySQL
conn = pymysql.connect(self.host, self.username, self.password, self.database, cursorclass=pymysql.cursors.DictCursor)
cursor = conn.cursor()

uid = bleach.clean(uid)

cursor.execute("SELECT * FROM highlows WHERE uid='{}' AND DATE(_timestamp) = CURDATE();")

highlow = cursor.fetchone()

conn.commit()
conn.close()

if highlow == None:
return {
"high":"",
"low":"",
"total_likes": 0,
"high_image": "",
"low_image": ""
}

return highlow

如果您想查看完整代码以获得更好的上下文,您可以在我们的 GitHub 存储库上查看它:https://github.com/highlowapp/highlowbackend

问题:

此设置已经运行良好一段时间了,我对此非常满意。但是,我最近开始从 GCP 的错误报告中收到此错误:

File "/srv/services/HighLow.py", line 380: 'low_image': ""
at <module> (/srv/api.py:8)
at <module> (/srv/wsgi.py:1)
at import_app (/env/lib/python3.7/site-packages/gunicorn/util.py:350)
at load_wsgiapp (/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py:41)
at load (/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py:52)
at wsgi (/env/lib/python3.7/site-packages/gunicorn/app/base.py:67)
at load_wsgi (/env/lib/python3.7/site-packages/gunicorn/workers/base.py:138)
at init_process (/env/lib/python3.7/site-packages/gunicorn/workers/base.py:129)
at spawn_worker (/env/lib/python3.7/site-packages/gunicorn/arbiter.py:583)

这个错误让我感到困惑有几个原因:

  1. 它不会给出任何类型的异常,它只是“宣布”第 380 行显示 'low_image': ""
  2. 当我更新代码以更改该行时,它给了我同样的错误。换句话说,它说第 380 行是:'low_image': "",而实际上(您可以在 GitHub 存储库上验证这一点),它是:"low_image": ""(带双引号)。我也尝试过简单地删除该行,但错误仍然出现。

我尝试删除应用引擎的存储桶并重新运行 gcloud app deploy,但该错误消息根本没有改变。

我的问题

为什么我会收到此错误消息?如何修复它?

编辑:

正如我上面所说,我已经尝试删除 staging 存储桶,但没有成功。

此外,我使用 Stackdriver 的“源”工具来验证代码是否已更新。

最后,我尝试在一个单独的项目中创建一个新的 App Engine 应用程序,并且代码有效...除了我的代码中存在相同的错误(也许我现在只是忘记了逗号?),这使得相同的错误发生在不同的文件中。

所以我更新了文件,重新部署,瞧!我的应用程序可以运行!

但是,我需要它在当前项目中工作,而不是在测试项目中。我需要一种方法来清除 GAE 所知道的所有内容,然后重新开始。有没有办法做到这一点?或者有人知道我为什么会遇到问题?

最佳答案

好的,我终于找到了一个解决方法,并认为我会分享给遇到此问题的其他人。

您知道技术支持人员总是告诉您尝试将其关闭然后再打开吗?让我告诉你,它有效。

我转到 App Engine -> 设置 -> 禁用应用程序,让它禁用,然后使用 App Engine -> 设置 -> 启用应用程序重新启用它>。

我想它只需要“重新启动”。

关于python - App Engine 给出有关过期文件的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56792714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com