仅在重新加载Apache之后才生成JSONDecodeError异常

时间:2019-04-01 14:42:53

标签: python json django django-fixtures

我正在使用django-fixture-magic构建Fixture文件。我的代码调用merge-fixture来从一堆json文件中构建固定装置。仅在重新加载apache之后,代码才会生成StopIteration异常,并且出现错误:

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字符,问题仍然存在。

0 个答案:

没有答案