(cmm_owms) [root@usasvr2 a9FriendFinder]# supervisorctl restart friend_task
friend_task: ERROR (not running)
friend_task: ERROR (abnormal termination)
(cmm_owms) [root@usasvr2 a9FriendFinder]# supervisorctl start friend_task
friend_task: ERROR (abnormal termination)
(cmm_owms) [root@usasvr2 a9FriendFinder]# tailf app/tasks/myapp.log
Tue, 07 Apr 2020 15:45:11 app_task.py[line:275] INFO friend: start gps&recommender task...
^C
(cmm_owms) [root@usasvr2 a9FriendFinder]# tailf /var/log/a9//friend_task.log
result.read()
File "/root/python/venv/cmm_owms/lib/python3.6/site-packages/pymysql/connections.py", line 1075, in read
first_packet = self.connection._read_packet()
File "/root/python/venv/cmm_owms/lib/python3.6/site-packages/pymysql/connections.py", line 684, in _read_packet
packet.check_error()
File "/root/python/venv/cmm_owms/lib/python3.6/site-packages/pymysql/protocol.py", line 220, in check_error
err.raise_mysql_exception(self._data)
File "/root/python/venv/cmm_owms/lib/python3.6/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
raise errorclass(errno, errval)
django.db.utils.DataError: (1406, "Data too long for column 'location' at row 1")
^C
(cmm_owms) [root@usasvr2 a9FriendFinder]#
問題已經打印得比較清楚了,就是mysql db的字段:location不夠長。要寫入的city字符串長度超過了db定義的長度。
用下面的方法來解決,加斷言,加try catch()語言捕獲異常。
try:
# we save the data to mysql as gps-log-record for check
log_item = LogUserLocation()
log_item.user_id = user_id
log_item.gps_lat = gps_lat
log_item.gps_lon = gps_lon
assert (len(str(live_data['city'])) < 800)
log_item.location = live_data['city']
log_item.save()
except Exception as e:
logging.error("e4=" + repr(e))
django.db.utils.DataError: (1406, "Data too long for column 'location' at row 1")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.