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

How to manually invoke SpellCheck avoiding Browser timeout

我正在尝试根据此文档页面更新本地 MoinMoin 安装中的拼写检查器:https://moinmo.in/HelpOnSpellCheck

我按照步骤操作,获得了一个新的字典文件并将其符号link编辑到MoinMoin 安装路径中的data/dict 目录中。然后我删除了 /data/cache/spellchecker.dict,它应该在调用 SpellCheck 操作时重建。如果我访问我的 Wiki 并使用拼写检查,浏览器会在构建拼写检查数据库时超时,正如上面 link 所预期的那样。

在文档中它说:"If your browser or the webserver timeouts before the file is completely built, one solution is to telnet into your webserver, and manually request the page."这就是我想要做的。不幸的是,该请求似乎没有调用数据库创建和快速 returns 请求的页面。

这是我请求页面的方式(我在本地通过端口 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/ 中找到创建的数据库。不幸的是,这不会发生。

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

/etc/moin/uwsgi.ini中:

harakiri 9999

/etc/nginx/nginx.conf中:

uwsgi_read_timeout 9999
uwsgi_send_timeout 9999

然后我使用 python 包 requests 将获取请求发送到服务器:

import requests

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

这个运行大约2-3分钟。之后,拼写检查显示的字数是629182,反映了我字典中的字数。