Я использую django-fixture-magic для создания файла фикстуры. Мой код вызывает merge-fixture
, чтобы собрать это устройство из набора json
файлов. Код генерирует исключение StopIteration
только после перезагрузки apache с ошибкой:
JSONDecodeError at <url>
Expecting value: line 1 column 1 (char 0)
В сценарии django-fixture-magic
все файлы читаются в цикле, который вызывает json.loads(file.read())
, а в decoder.py
из библиотеки python json
возникает исключение.
Отладка с некоторыми sys.stderr.write()
Я вижу, что это исключение происходит случайно в указанном файле, который может меняться при каждом запуске.
Что трудно понять, так это то, что проблема возникает не после второго запроса, а в других. Только при перезагрузке apache.
Если это поможет, следуйте конфигурационному файлу Apache:
<VirtualHost *:443>
ServerName <url>
ServerAlias <url>
WSGIProcessGroup nes
DocumentRoot path/to/documentroot
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
Alias /media/ path/to/media
<Directory "path/to/directory">
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/wildcard.numec.prp.usp.cer
SSLCertificateKeyFile /etc/ssl/private/wildcard.numec.prp.usp.key
SSLCertificateChainFile /etc/apache2/ssl/ChainICPEDU.pem
WSGIScriptAlias / path/to/wsgi.py application-group=%{GLOBAL}
WSGIDaemonProcess nes lang='en_US.UTF-8' locale='en_US.UTF-8' python-home=path/to/project
Alias /static/ path/to/static
ErrorLog ${APACHE_LOG_DIR}/nes/ssl_error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/nes/ssl_access.log combined
Я думаю, что это может быть проблема конфигурации Apache, потому что проблема возникает только после его перезагрузки, а не для следующих запросов. Чтобы подтвердить, что это не проблема с декодированием json, я создал сценарий, в котором есть только символы ASCII, и проблема сохраняется.