Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

新增題目會當機 #4

Open
minexo79 opened this issue Dec 6, 2020 · 12 comments
Open

新增題目會當機 #4

minexo79 opened this issue Dec 6, 2020 · 12 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@minexo79
Copy link

minexo79 commented Dec 6, 2020

我使用dmoj-dockercompose這個solution,
在新增題目頁面按下保存之後會呈現當機狀態,
需要重開docker可以恢復正常。
但是題目依舊創建成功。

@outloudvi
Copy link

这个问题我们也有遇到:uWSGI 不知为何似乎会卡住或者 Out Of Memory 导致宕机。原因还不清楚,可能是因为代码中某处出现了 dead lock,或者 uWSGI 的配置 不当。我们目前使用的方案是直接让 nginx 反向代理 Django 的开发服务器(python3 manage.py runserver 9090),这并不是 best practice,不过不知为何这确实降低了服务器宕机的频率。

当然,你遇到的问题可能和我们的不一样。在 site 容器的 /tmp/site.stderr.log 里有相关运行日志,可能会对你的分析有所帮助。

@minexo79
Copy link
Author

minexo79 commented Dec 6, 2020

收到,我有空試著將log發上來

@minexo79
Copy link
Author

minexo79 commented Dec 6, 2020

這是我在Protainer上面抓到的一行疑似錯誤的後台輸出

/usr/local/lib/python3.7/dist-packages/django/views/generic/list.py:88: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <class 'judge.models.problem.Problem'> TranslatedProblemQuerySet.,
  allow_empty_first_page=allow_empty_first_page, **kwargs)

@outloudvi
Copy link

這是我在Protainer上面抓到的一行疑似錯誤的後台輸出

我也有遇到这条 log,不过它只是一个关于 problem list 条目顺序的警告,和宕机似乎没有关联。这也是我比较疑惑的事情:宕机确实发生了,但没有任何的错误提示迹象。

@minexo79
Copy link
Author

先這樣將就用吧,我不太會django,抱歉沒辦法幫到你忙
我目前的作法是上傳題目過幾秒後,重開site的container

@outloudvi
Copy link

没关系 :-) 因为我这边也不知道怎么回事。考虑到改用 Python 自己的 runserver 没有问题,可能真的是因为 dead lock。我最近试试在 uswgi 上只开一个 worker 会不会好一点,如果会的话,我就把默认配置改成一个 worker 好了。

另外,你也可以尝试在这里用原版 DMOJ 替代经过修改的 SchOJ (也就是改为 git clone https://github.com/schoj/site.git),看这个问题是 SchOJ 魔改的问题还是原版就已经存在的。

@minexo79
Copy link
Author

有空我會試看看的

@outloudvi outloudvi added bug Something isn't working help wanted Extra attention is needed labels Dec 13, 2020
@minexo79
Copy link
Author

minexo79 commented Dec 31, 2020

這幾天我把site來源改成原版的DMOJ,依舊會卡機,把 worker 改成一個也是一樣的情形。
另外改成原版DMOJ查看submission會等好一陣子才會進去。

outloudvi added a commit that referenced this issue Jan 1, 2021
@outloudvi
Copy link

那看来可能确实是原版出现了死锁现象,那我把默认配置的 worker 数先调整到 1 好了,至少先试着排除一下死锁问题。

@minexo79
Copy link
Author

minexo79 commented Jan 1, 2021

我這裡也會試著調整

@minexo79
Copy link
Author

minexo79 commented Jan 1, 2021

大大晚安,我早前重新pull過repo,重新build,up之後會出現這個問題

cannot import name 'ExpiredSignature' from 'jwt' (/usr/local/lib/python3.7/dist-packages/jwt/__init__.py)

我在網路上已經查過各種解法,但始終行不通

@outloudvi
Copy link

@minexo79 可参见 SchOJ/site#23

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants