如何手动调用SpellCheck避免浏览器超时

时间:2019-07-10 15:41:43

标签: python moinmoin

我正在尝试根据以下文档页面https://moinmo.in/HelpOnSpellCheck更新本地MoinMoin安装中的SpellChecker。

我按照步骤操作,获得了一个新的词典文件,并将其符号链接到MoinMoin安装路径的data/dict目录中。然后,我删除了/data/cache/spellchecker.dict,应在调用SpellCheck操作时重新构建它。如果我访问我的Wiki并使用SpellCheck,则根据上面的链接,浏览器在构建SpellCheck数据库时会超时。

在文档中说:“如果您的浏览器或Web服务器在文件完全构建之前超时,则一种解决方案是telnet进入Web服务器,然后手动请求页面。”这就是我想要做的。不幸的是,该请求似乎并未调用数据库创建,而是迅速返回了所请求的页面。

这是我请求页面的方式(我通过8085端口在本地托管它):

telnet 192.168.1.199 8085
Trying 192.168.1.199...
Connected to 192.168.1.199.
Escape character is '^]'.
HEAD /wiki/FrontPage?action=SpellCheck HTTP/1.1
Host: 192.168.1.199

HTTP/1.1 200 OK
...

我希望该请求像在Web浏览器中一样调用数据库创建。这需要几分钟,之后,我应该能够在/data/cache/中找到创建的数据库。不幸的是,这不会发生。

1 个答案:

答案 0 :(得分:0)

如果其他人感兴趣,这就是我最终解决问题的方法:我将可能的超时范围缩小到了Web服务器(nginx)或uwsgi,因此我对配置文件进行了以下更改:

/etc/moin/uwsgi.ini中:

harakiri 9999

/etc/nginx/nginx.conf中:

uwsgi_read_timeout 9999
uwsgi_send_timeout 9999

然后我使用python软件包requests将get-request发送到服务器:

import requests

r = requests.get('http://192.168.1.199:8085/wiki/FrontPage',
                 params={'action' : 'SpellCheck'}, timeout=9999)

运行了大约2-3分钟。之后,执行拼写检查时显示的单词数为629182,反映了我的词典中存在的单词数。