调整:核心服务崩溃时处于连接状态的会话,修复其终止时间,在会话历史列表中能够显示大约的运行时长。

pull/105/head
Apex Liu 2017-11-03 18:54:50 +08:00
parent 71bd6817c2
commit 333c244379
2 changed files with 28 additions and 14 deletions

View File

@ -282,11 +282,17 @@ $app.on_table_host_render_created = function (render) {
_style = 'primary';
return '<span class="label label-' + _style + '"><i class="fa fa-cog fa-spin"></i> ' + tp_second2str(tp_local2utc() - fields.time_begin) + '</span>';
} else {
if (fields.time_end === 0)
if (fields.time_end === 0) {
return '<span class="label label-danger"><i class="fa fa-clock-o fa-fw"></i> 未知</span>';
else
}
else {
if (fields.state === TP_SESS_STAT_ERR_START_RESET) {
return '<span class="label label-info"><i class="fa fa-exclamation-circle fa-fw"></i> ' + tp_second2str(fields.time_end - fields.time_begin) + '</span>';
} else {
return tp_second2str(fields.time_end - fields.time_begin);
}
}
}
// if (fields.time_end === 0) {
// var _style = 'info';

View File

@ -254,16 +254,24 @@ def delete_log(log_list):
def session_fix():
try:
ret = True
db = get_db()
sql = 'UPDATE `{}record` SET state={} WHERE state={};'.format(db.table_prefix, TP_SESS_STAT_ERR_RESET, TP_SESS_STAT_RUNNING)
if not db.exec(sql):
ret = False
sql = 'UPDATE `{}record` SET state={} WHERE state={};'.format(db.table_prefix, TP_SESS_STAT_ERR_START_RESET, TP_SESS_STAT_STARTED)
if not db.exec(sql):
ret = False
return ret
sql_list = []
sql = 'UPDATE `{dbtp}record` SET state={new_state}, time_end={time_end} WHERE state={old_state};' \
''.format(dbtp=db.table_prefix, new_state=TP_SESS_STAT_ERR_RESET, old_state=TP_SESS_STAT_RUNNING, time_end=tp_timestamp_utc_now())
sql_list.append(sql)
# if not db.exec(sql):
# ret = False
sql = 'UPDATE `{dbtp}record` SET state={new_state},time_end={time_end} WHERE state={old_state};' \
''.format(dbtp=db.table_prefix, new_state=TP_SESS_STAT_ERR_START_RESET, old_state=TP_SESS_STAT_STARTED, time_end=tp_timestamp_utc_now())
sql_list.append(sql)
return db.transaction(sql_list)
# if not db.exec(sql):
# ret = False
# return ret
except:
log.e('\n')
return False