change online user counter & note traffic
This commit is contained in:
parent
6255a1d321
commit
d8dda5042f
1 changed files with 17 additions and 8 deletions
|
@ -29,12 +29,18 @@ class DbTransfer(object):
|
||||||
query_sub_in = None
|
query_sub_in = None
|
||||||
last_time = time.time()
|
last_time = time.time()
|
||||||
for id in dt_transfer.keys():
|
for id in dt_transfer.keys():
|
||||||
query_sub_when += ' WHEN %s THEN u+%s' % (id, dt_transfer[id][0])
|
transfer = dt_transfer[id]
|
||||||
query_sub_when2 += ' WHEN %s THEN d+%s' % (id, dt_transfer[id][1])
|
update_trs = 1024 * max(2048 - self.user_pass.get(id, 0) * 64, 16)
|
||||||
|
if transfer[0] + transfer[1] < update_trs:
|
||||||
|
continue
|
||||||
|
|
||||||
|
query_sub_when += ' WHEN %s THEN u+%s' % (id, transfer[0])
|
||||||
|
query_sub_when2 += ' WHEN %s THEN d+%s' % (id, transfer[1])
|
||||||
if query_sub_in is not None:
|
if query_sub_in is not None:
|
||||||
query_sub_in += ',%s' % id
|
query_sub_in += ',%s' % id
|
||||||
else:
|
else:
|
||||||
query_sub_in = '%s' % id
|
query_sub_in = '%s' % id
|
||||||
|
|
||||||
if query_sub_when == '':
|
if query_sub_when == '':
|
||||||
return
|
return
|
||||||
query_sql = query_head + ' SET u = CASE port' + query_sub_when + \
|
query_sql = query_head + ' SET u = CASE port' + query_sub_when + \
|
||||||
|
@ -56,9 +62,8 @@ class DbTransfer(object):
|
||||||
#上次和本次的增量
|
#上次和本次的增量
|
||||||
dt_transfer = {}
|
dt_transfer = {}
|
||||||
for id in curr_transfer.keys():
|
for id in curr_transfer.keys():
|
||||||
update_trs = 1024 * max(2048 - self.user_pass.get(id, 0) * 64, 16)
|
|
||||||
if id in last_transfer:
|
if id in last_transfer:
|
||||||
if curr_transfer[id][0] + curr_transfer[id][1] - last_transfer[id][0] - last_transfer[id][1] < update_trs:
|
if curr_transfer[id][0] + curr_transfer[id][1] - last_transfer[id][0] - last_transfer[id][1] <= 0:
|
||||||
self.user_pass[id] = self.user_pass.get(id, 0) + 1
|
self.user_pass[id] = self.user_pass.get(id, 0) + 1
|
||||||
continue
|
continue
|
||||||
if last_transfer[id][0] <= curr_transfer[id][0] and \
|
if last_transfer[id][0] <= curr_transfer[id][0] and \
|
||||||
|
@ -69,7 +74,7 @@ class DbTransfer(object):
|
||||||
dt_transfer[id] = [int(curr_transfer[id][0] * get_config().TRANSFER_MUL),
|
dt_transfer[id] = [int(curr_transfer[id][0] * get_config().TRANSFER_MUL),
|
||||||
int(curr_transfer[id][1] * get_config().TRANSFER_MUL)]
|
int(curr_transfer[id][1] * get_config().TRANSFER_MUL)]
|
||||||
else:
|
else:
|
||||||
if curr_transfer[id][0] + curr_transfer[id][1] < update_trs:
|
if curr_transfer[id][0] + curr_transfer[id][1] <= 0:
|
||||||
self.user_pass[id] = self.user_pass.get(id, 0) + 1
|
self.user_pass[id] = self.user_pass.get(id, 0) + 1
|
||||||
continue
|
continue
|
||||||
dt_transfer[id] = [int(curr_transfer[id][0] * get_config().TRANSFER_MUL),
|
dt_transfer[id] = [int(curr_transfer[id][0] * get_config().TRANSFER_MUL),
|
||||||
|
@ -258,6 +263,13 @@ class Dbv3Transfer(DbTransfer):
|
||||||
|
|
||||||
for id in dt_transfer.keys():
|
for id in dt_transfer.keys():
|
||||||
transfer = dt_transfer[id]
|
transfer = dt_transfer[id]
|
||||||
|
alive_user_count = alive_user_count + 1
|
||||||
|
bandwidth_thistime = bandwidth_thistime + transfer[0] + transfer[1]
|
||||||
|
|
||||||
|
update_trs = 1024 * max(2048 - self.user_pass.get(id, 0) * 64, 16)
|
||||||
|
if transfer[0] + transfer[1] < update_trs:
|
||||||
|
continue
|
||||||
|
|
||||||
query_sub_when += ' WHEN %s THEN u+%s' % (id, transfer[0])
|
query_sub_when += ' WHEN %s THEN u+%s' % (id, transfer[0])
|
||||||
query_sub_when2 += ' WHEN %s THEN d+%s' % (id, transfer[1])
|
query_sub_when2 += ' WHEN %s THEN d+%s' % (id, transfer[1])
|
||||||
|
|
||||||
|
@ -269,9 +281,6 @@ class Dbv3Transfer(DbTransfer):
|
||||||
self.traffic_format(transfer[0] + transfer[1]) + "', unix_timestamp()); ")
|
self.traffic_format(transfer[0] + transfer[1]) + "', unix_timestamp()); ")
|
||||||
cur.close()
|
cur.close()
|
||||||
|
|
||||||
alive_user_count = alive_user_count + 1
|
|
||||||
bandwidth_thistime = bandwidth_thistime + transfer[0] + transfer[1]
|
|
||||||
|
|
||||||
if query_sub_in is not None:
|
if query_sub_in is not None:
|
||||||
query_sub_in += ',%s' % id
|
query_sub_in += ',%s' % id
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Add table
Reference in a new issue