teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

誤字

2020/11/18 02:16

投稿

kwmr8416
kwmr8416

スコア6

answer CHANGED
@@ -12,4 +12,126 @@
12
12
  などとすれば40Mバイトのファイルでも問題なく読み込めると思います。
13
13
  デフォルトはおそらく30秒位ですね。
14
14
 
15
- また、不具合ありましたら、お知らせいたします。
15
+ また、不具合ありましたら、お知らせいたします。
16
+
17
+
18
+ 追記
19
+ 上記の通りgunicornのタイムアウトが今回の不具合の原因でした。
20
+ gunicornの起動コマンドオプションに
21
+ 「--log-level=DEBUG」を加えログを出力するようにし、CSVインポートを3件ほど行いました。
22
+ 以下がターミナルの表示内容です。
23
+ 前半に設定情報が表示され、後半のログ情報に「WORKER TIMEOUT」が表示されているのがわかります。
24
+ ```
25
+ (venv_xxx_project) [app_admin@ip-172-31-36-217 xxx_project]$ gunicorn --bind 127.0.0.1:8000 xxx_project.wsgi --timeout 33 --log-level=DEBUG
26
+ [2020-11-18 10:55:10 +0900] [10999] [DEBUG] Current configuration:
27
+ config: None
28
+ bind: ['127.0.0.1:8000']
29
+ backlog: 2048
30
+ workers: 1
31
+ worker_class: sync
32
+ threads: 1
33
+ worker_connections: 1000
34
+ max_requests: 0
35
+ max_requests_jitter: 0
36
+ timeout: 33
37
+ graceful_timeout: 30
38
+ keepalive: 2
39
+ limit_request_line: 4094
40
+ limit_request_fields: 100
41
+ limit_request_field_size: 8190
42
+ reload: False
43
+ reload_engine: auto
44
+ reload_extra_files: []
45
+ spew: False
46
+ check_config: False
47
+ preload_app: False
48
+ sendfile: None
49
+ reuse_port: False
50
+ chdir: /home/app_admin/venv_xxx_project/xxx_nippo_20201102/venv_xxx_project/xxx_project
51
+ daemon: False
52
+ raw_env: []
53
+ pidfile: None
54
+ worker_tmp_dir: None
55
+ user: 1001
56
+ group: 1001
57
+ umask: 0
58
+ initgroups: False
59
+ tmp_upload_dir: None
60
+ secure_scheme_headers: {'X-FORWARDED-PROTOCOL': 'ssl', 'X-FORWARDED-PROTO': 'https', 'X-FORWARDED-SSL': 'on'}
61
+ forwarded_allow_ips: ['127.0.0.1']
62
+ accesslog: None
63
+ disable_redirect_access_to_syslog: False
64
+ access_log_format: %(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"
65
+ errorlog: -
66
+ loglevel: DEBUG
67
+ capture_output: False
68
+ logger_class: gunicorn.glogging.Logger
69
+ logconfig: None
70
+ logconfig_dict: {}
71
+ syslog_addr: udp://localhost:514
72
+ syslog: False
73
+ syslog_prefix: None
74
+ syslog_facility: user
75
+ enable_stdio_inheritance: False
76
+ statsd_host: None
77
+ dogstatsd_tags:
78
+ statsd_prefix:
79
+ proc_name: None
80
+ default_proc_name: xxx_project.wsgi
81
+ pythonpath: None
82
+ paste: None
83
+ on_starting: <function OnStarting.on_starting at 0x7f6cc9a7cd40>
84
+ on_reload: <function OnReload.on_reload at 0x7f6cc9a7ce60>
85
+ when_ready: <function WhenReady.when_ready at 0x7f6cc9a7cf80>
86
+ pre_fork: <function Prefork.pre_fork at 0x7f6cc9a8f0e0>
87
+ post_fork: <function Postfork.post_fork at 0x7f6cc9a8f200>
88
+ post_worker_init: <function PostWorkerInit.post_worker_init at 0x7f6cc9a8f320>
89
+ worker_int: <function WorkerInt.worker_int at 0x7f6cc9a8f440>
90
+ worker_abort: <function WorkerAbort.worker_abort at 0x7f6cc9a8f560>
91
+ pre_exec: <function PreExec.pre_exec at 0x7f6cc9a8f680>
92
+ pre_request: <function PreRequest.pre_request at 0x7f6cc9a8f7a0>
93
+ post_request: <function PostRequest.post_request at 0x7f6cc9a8f830>
94
+ child_exit: <function ChildExit.child_exit at 0x7f6cc9a8f950>
95
+ worker_exit: <function WorkerExit.worker_exit at 0x7f6cc9a8fa70>
96
+ nworkers_changed: <function NumWorkersChanged.nworkers_changed at 0x7f6cc9a8fb90>
97
+ on_exit: <function OnExit.on_exit at 0x7f6cc9a8fcb0>
98
+ proxy_protocol: False
99
+ proxy_allow_ips: ['127.0.0.1']
100
+ keyfile: None
101
+ certfile: None
102
+ ssl_version: 2
103
+ cert_reqs: 0
104
+ ca_certs: None
105
+ suppress_ragged_eofs: True
106
+ do_handshake_on_connect: False
107
+ ciphers: None
108
+ raw_paste_global_conf: []
109
+ strip_header_spaces: False
110
+ [2020-11-18 10:55:10 +0900] [10999] [INFO] Starting gunicorn 20.0.4
111
+ [2020-11-18 10:55:10 +0900] [10999] [DEBUG] Arbiter booted
112
+ [2020-11-18 10:55:10 +0900] [10999] [INFO] Listening at: http://127.0.0.1:8000 (10999)
113
+ [2020-11-18 10:55:10 +0900] [10999] [INFO] Using worker: sync
114
+ [2020-11-18 10:55:10 +0900] [11002] [INFO] Booting worker with pid: 11002
115
+ [2020-11-18 10:55:10 +0900] [10999] [DEBUG] 1 workers
116
+ [2020-11-18 10:55:33 +0900] [11002] [DEBUG] POST /working_listworkinglistimport/
117
+ [2020-11-18 10:56:07 +0900] [10999] [CRITICAL] WORKER TIMEOUT (pid:11002)
118
+ [2020-11-18 10:56:07 +0900] [11002] [INFO] Worker exiting (pid: 11002)
119
+ [2020-11-18 10:56:07 +0900] [11007] [INFO] Booting worker with pid: 11007
120
+ [2020-11-18 10:56:07 +0900] [11007] [DEBUG] GET /nginx-logo.png
121
+ [2020-11-18 10:56:07 +0900] [11007] [DEBUG] GET /poweredby.png
122
+ [2020-11-18 10:56:35 +0900] [11007] [DEBUG] POST /working_listworkinglistimport/
123
+ [2020-11-18 10:57:09 +0900] [11007] [DEBUG] GET /working_list
124
+ [2020-11-18 10:57:35 +0900] [11007] [DEBUG] GET /boaform/admin/formLogin
125
+ [2020-11-18 10:57:57 +0900] [11007] [DEBUG] GET /working_listworkinglistimport/
126
+ [2020-11-18 10:58:38 +0900] [11007] [DEBUG] POST /working_listworkinglistimport/
127
+ [2020-11-18 10:59:08 +0900] [11007] [DEBUG] GET /working_list
128
+ [2020-11-18 10:59:14 +0900] [11007] [DEBUG] GET /working_listworkinglistimport/
129
+ [2020-11-18 10:59:27 +0900] [11007] [DEBUG] POST /working_listworkinglistimport/
130
+ [2020-11-18 11:00:00 +0900] [10999] [CRITICAL] WORKER TIMEOUT (pid:11007)
131
+ [2020-11-18 11:00:00 +0900] [11007] [INFO] Worker exiting (pid: 11007)
132
+ [2020-11-18 11:00:00 +0900] [11025] [INFO] Booting worker with pid: 11025
133
+ [2020-11-18 11:00:00 +0900] [11025] [DEBUG] GET /poweredby.png
134
+ [2020-11-18 11:00:00 +0900] [11025] [DEBUG] GET /nginx-logo.png
135
+ ```
136
+ 以上で今回の件は、解決とさせていただきます。
137
+ ありがとうございました。

1

誤字

2020/11/18 02:16

投稿

kwmr8416
kwmr8416

スコア6

answer CHANGED
@@ -7,7 +7,7 @@
7
7
  オプションに「--timeoout」を付けることで、今回の問題は解消できそうです(これから動作確認します)。
8
8
  よって、実際のコマンドとしては
9
9
 
10
- 「$ gunicorn --bind 127.0.0.1:8000 プロジェクト名.wsgi -D --timeout 999
10
+ 「$ gunicorn --bind 127.0.0.1:8000 プロジェクト名.wsgi -D --timeout 9999
11
11
 
12
12
  などとすれば40Mバイトのファイルでも問題なく読み込めると思います。
13
13
  デフォルトはおそらく30秒位ですね。