fi-ksi / web-backend

Backend for KSI web written in Python.
MIT License
8 stars 3 forks source link

Příliš dlouhé reporty z coderunů #141

Closed esoadamo closed 2 years ago

esoadamo commented 2 years ago

Poslední dobou se objevují v logu backendu podobné errory, hlavně spojené s úkolem Mocniny v úloze Seznámení s Pythonem:

[IP] [POST] [500 Internal Server Error] /runCode/717/submit
Traceback (most recent call last):
  File "/root/web-backend/ksi-py3-venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1277, in _execute_context
    cursor, statement, parameters, context
  File "/root/web-backend/ksi-py3-venv/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 593, in do_execute
    cursor.execute(statement, parameters)
  File "/root/web-backend/ksi-py3-venv/lib/python3.7/site-packages/MySQLdb/cursors.py", line 206, in execute
    res = self._query(query)
  File "/root/web-backend/ksi-py3-venv/lib/python3.7/site-packages/MySQLdb/cursors.py", line 319, in _query
    db.query(q)
  File "/root/web-backend/ksi-py3-venv/lib/python3.7/site-packages/MySQLdb/connections.py", line 259, in query
    _mysql.connection.query(self, query)
MySQLdb._exceptions.DataError: (1406, "Data too long for column 'report' at row 1")

Problém nejspíše nastává, jelikož řešitelé zacyklí program (úloha testuje while cyklus) a poté vidí něco takového: Snímek z 2021-09-01 15-33-58

Report je typu mediumtext. Navrhuji jako řešení na BE zkrátit příliš dlouhé reporty na určitou délku (těsně velikost medium textu nebo méně?) a poté přidat na konec informaci o zkrácení. Co myslíte, je to správný přístup?