python - gunicorn django 上的 CRITICAL WORKER TIMEOUT 错误

标签 python django docker gunicorn

我正在尝试保存 word2vec 模型并保存它,然后基于该模式创建一些集群,它在本地运行良好,但是当我创建 docker 镜像并使用 gunicorn 运行时,它总是给我超时错误,我尝试了所描述的解决方案here但它不适合我

我正在使用

python 3.5
gunicorn 19.7.1
gevent 1.2.2
eventlet 0.21.0

这是我的 gunicorn.conf 文件

#!/bin/bash

# Start Gunicorn processes
echo Starting Gunicorn.
exec gunicorn ReviewsAI.wsgi:application \
    --bind 0.0.0.0:8000 \
    --worker-class eventlet
    --workers 1
    --timeout 300000
    --graceful-timeout 300000
    --keep-alive 300000

我也尝试了 gevent,sync 的工作类,但它没有工作。谁能告诉我为什么这个超时错误不断发生。谢谢

这是我的日志

Starting Gunicorn.
[2017-11-10 06:03:45 +0000] [1] [INFO] Starting gunicorn 19.7.1
[2017-11-10 06:03:45 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)
[2017-11-10 06:03:45 +0000] [1] [INFO] Using worker: eventlet
[2017-11-10 06:03:45 +0000] [8] [INFO] Booting worker with pid: 8
2017-11-10 06:05:00,307 : INFO : collecting all words and their counts
2017-11-10 06:05:00,309 : INFO : PROGRESS: at sentence #0, processed 0 words, keeping 0 word types
2017-11-10 06:05:00,737 : INFO : collected 11927 word types from a corpus of 1254665 raw words and 126 sentences
2017-11-10 06:05:00,738 : INFO : Loading a fresh vocabulary
2017-11-10 06:05:00,916 : INFO : min_count=1 retains 11927 unique words (100% of original 11927, drops 0)
2017-11-10 06:05:00,917 : INFO : min_count=1 leaves 1254665 word corpus (100% of original 1254665, drops 0)
2017-11-10 06:05:00,955 : INFO : deleting the raw counts dictionary of 11927 items
2017-11-10 06:05:00,957 : INFO : sample=0.001 downsamples 59 most-common words
2017-11-10 06:05:00,957 : INFO : downsampling leaves estimated 849684 word corpus (67.7% of prior 1254665)
2017-11-10 06:05:00,957 : INFO : estimated required memory for 11927 words and 200 dimensions: 25046700 bytes
2017-11-10 06:05:01,002 : INFO : resetting layer weights
2017-11-10 06:05:01,242 : INFO : training model with 4 workers on 11927 vocabulary and 200 features, using sg=0 hs=0 sample=0.001 negative=5 window=4
2017-11-10 06:05:02,294 : INFO : PROGRESS: at 6.03% examples, 247941 words/s, in_qsize 0, out_qsize 7
2017-11-10 06:05:03,423 : INFO : PROGRESS: at 13.65% examples, 269423 words/s, in_qsize 0, out_qsize 7
2017-11-10 06:05:04,670 : INFO : PROGRESS: at 23.02% examples, 286330 words/s, in_qsize 8, out_qsize 11
2017-11-10 06:05:05,745 : INFO : PROGRESS: at 32.70% examples, 310218 words/s, in_qsize 0, out_qsize 7
2017-11-10 06:05:07,054 : INFO : PROGRESS: at 42.06% examples, 308128 words/s, in_qsize 8, out_qsize 11
2017-11-10 06:05:08,123 : INFO : PROGRESS: at 51.75% examples, 320675 words/s, in_qsize 0, out_qsize 7
2017-11-10 06:05:09,355 : INFO : PROGRESS: at 61.11% examples, 320556 words/s, in_qsize 8, out_qsize 11
2017-11-10 06:05:10,436 : INFO : PROGRESS: at 70.79% examples, 328012 words/s, in_qsize 0, out_qsize 7
2017-11-10 06:05:11,663 : INFO : PROGRESS: at 80.16% examples, 327237 words/s, in_qsize 8, out_qsize 11
2017-11-10 06:05:12,752 : INFO : PROGRESS: at 89.84% examples, 332298 words/s, in_qsize 0, out_qsize 7
2017-11-10 06:05:13,784 : INFO : PROGRESS: at 99.21% examples, 336724 words/s, in_qsize 0, out_qsize 9
2017-11-10 06:05:13,784 : INFO : worker thread finished; awaiting finish of 3 more threads
2017-11-10 06:05:13,784 : INFO : worker thread finished; awaiting finish of 2 more threads
2017-11-10 06:05:13,784 : INFO : worker thread finished; awaiting finish of 1 more threads
2017-11-10 06:05:13,784 : INFO : worker thread finished; awaiting finish of 0 more threads
2017-11-10 06:05:13,784 : INFO : training on 6273325 raw words (4248672 effective words) took 12.5s, 339100 effective words/s
2017-11-10 06:05:13,785 : INFO : saving Word2Vec object under trained_models/mobile, separately None
2017-11-10 06:05:13,785 : INFO : not storing attribute syn0norm
2017-11-10 06:05:13,785 : INFO : not storing attribute cum_table
2017-11-10 06:05:14,026 : INFO : saved trained_models/mobile
[2017-11-10 06:05:43 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:8)
2017-11-10 06:05:43,712 : INFO : precomputing L2-norms of word weight vectors
[2017-11-10 06:05:44 +0000] [14] [INFO] Booting worker with pid: 14

最佳答案

我遇到了类似的问题。它解决了我将 gunicorn 的版本更新到 19.9.0

gunicorn 19.9.0

对于可能遇到相同问题的其他人 - 确保添加超时。我个人使用

gunicorn app.wsgi:application -w 2 -b :8000 --timeout 120

关于python - gunicorn django 上的 CRITICAL WORKER TIMEOUT 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47217880/

相关文章:

python - 使用 PySpark 从 Amazon S3 读取文本文件

python - Django 模型的额外参数

python - Django在管理员中过滤多对多字段?

python - Pandas - 将 2 级索引字典映射到 DataFrame 列

python - 范围规则的简短描述

python - Docker opencv3 Cmake错误

linux - kubelet 找不到 CPU 的挂载点

docker - 为什么我无法通过 HTTPS 访问我的 traefik 仪表板?

python - 获取 Jinja for 循环中的当前值和下一个值

HTML 未正确连接 CSS