Django应用程序在Google App Engine上冻结

时间:2019-05-25 15:05:49

标签: python django google-app-engine

我在Google App Engine上部署的Django应用程序遇到了一些麻烦。

我仍然不知道如何复制问题。

该应用程序似乎随机冻结。它只是停止响应(在此同时不生成日志),如果我进入任何应用程序页面,都会收到此错误:

错误:服务器错误

服务器遇到错误,无法完成您的请求。

请在30秒内重试。

日志中未显示任何错误,我发现的唯一奇怪的警告是该警告:

OpenBLAS警告-假定为256k,无法确定此系统上的L2缓存大小

在Ubuntu计算机上运行应用程序时没有任何问题。

我正在将Django 2.1.5与Python 3.7结合使用,并且Django连接到MySQL实例(在Google Cloud SQL上)。

其他信息:

app.yaml 文件非常基础,直接取自official example

# [START django_app]
runtime: python37
service: backend

handlers:
# This configures Google App Engine to serve the files in the app's static
# directory.
- url: /static
  static_dir: static/

# This handler routes all requests not caught above to your main app. It is
# required when static routes are defined, but can be omitted (along with
# the entire handlers section) when there are no static files defined.
- url: /.*
  script: auto

# [END django_app]

Django配置摘录:

INSTALLED_APPS = [
    ...
    'rest_framework',
    'rest_framework_filters',
    'django_rest_passwordreset',
    'django_filters',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.AllowAny',
    ],
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    ],
    'DEFAULT_FILTER_BACKENDS': [
        'rest_framework_filters.backends.RestFrameworkFilterBackend',
        'django_filters.rest_framework.DjangoFilterBackend',
    ],
}

SIMPLE_JWT = {
    'ACCESS_TOKEN_LIFETIME': timedelta(minutes=60),
    'REFRESH_TOKEN_LIFETIME': timedelta(hours=10),
    'ROTATE_REFRESH_TOKENS': True,
    'ALGORITHM': 'HS256',
    'SIGNING_KEY': "XXXXXX",
}

值得注意的是,有一些自定义安装的应用程序既可以使用常规的Django ORM来访问MySQL数据库,也可以使用 pymysql 库直接查询许多不同的数据库。

0 个答案:

没有答案