本文整理汇总了Python中toughlib.dispatch.pub函数的典型用法代码示例。如果您正苦于以下问题:Python pub函数的具体用法?Python pub怎么用?Python pub使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了pub函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: acctounting
def acctounting(self):
if not self.account:
return dispatch.pub(logger.EVENT_ERROR,
"[Acct] Received an accounting update request but user[%s] not exists"% self.request.account_number)
ticket = Storage(**self.request)
_datetime = datetime.datetime.now()
online = self.get_online(ticket.nas_addr,ticket.acct_session_id)
if not online:
session_time = ticket.acct_session_time
stop_time = _datetime.strftime( "%Y-%m-%d %H:%M:%S")
start_time = (_datetime - datetime.timedelta(seconds=int(session_time))).strftime( "%Y-%m-%d %H:%M:%S")
ticket.acct_start_time = start_time
ticket.acct_stop_time = stop_time
ticket.start_source= STATUS_TYPE_STOP
ticket.stop_source = STATUS_TYPE_STOP
self.add_ticket(ticket)
else:
self.del_online(ticket.nas_addr,ticket.acct_session_id)
ticket.acct_start_time = online.acct_start_time
ticket.acct_stop_time= _datetime.strftime( "%Y-%m-%d %H:%M:%S")
ticket.start_source = online.start_source
ticket.stop_source = STATUS_TYPE_STOP
self.add_ticket(ticket)
self.billing(online)
dispatch.pub(logger.EVENT_INFO,'%s Accounting stop request, remove online'% self.account.account_number)
示例2: error
def error(message,**kwargs):
if not isinstance(message, unicode):
message = safeunicode(message)
if EVENT_ERROR in dispatch.dispatch.callbacks:
dispatch.pub(EVENT_ERROR,message,**kwargs)
else:
default_log.error(message)
示例3: render_json
def render_json(self, **template_vars):
if not template_vars.has_key("code"):
template_vars["code"] = 0
resp = json.dumps(template_vars, ensure_ascii=False)
if self.settings.debug:
dispatch.pub(logger.EVENT_DEBUG,"[api debug] :: %s response body: %s" % (self.request.path, utils.safeunicode(resp)))
self.write(resp)
示例4: info
def info(message,**kwargs):
if not isinstance(message, unicode):
message = safeunicode(message)
if EVENT_INFO in dispatch.dispatch.callbacks:
dispatch.pub(EVENT_INFO,message,**kwargs)
else:
default_log.info(message)
示例5: acctounting
def acctounting(self):
if not self.account:
return dispatch.pub(logger.EVENT_ERROR,
"[Acct] Received an accounting update request but user[%s] not exists"% self.request.account_number)
ticket = Storage(**self.request)
online = self.get_online(ticket.nas_addr,ticket.acct_session_id)
if not online:
sessiontime = ticket.acct_session_time
updatetime = datetime.datetime.now()
_starttime = updatetime - datetime.timedelta(seconds=sessiontime)
online = Storage(
account_number = self.account.account_number,
nas_addr = ticket.nas_addr,
acct_session_id = ticket.acct_session_id,
acct_start_time = _starttime.strftime( "%Y-%m-%d %H:%M:%S"),
framed_ipaddr = ticket.framed_ipaddr,
mac_addr = ticket.mac_addr,
nas_port_id = ticket.nas_port_id,
billing_times = ticket.acct_session_time,
input_total = self.get_input_total(),
output_total = self.get_output_total(),
start_source = STATUS_TYPE_UPDATE
)
self.add_online(online)
self.billing(online)
dispatch.pub(logger.EVENT_INFO,'%s Accounting update request, update online'% self.account.account_number)
示例6: process
def process(self, *args, **kwargs):
dispatch.pub(logger.EVENT_INFO, "process ddns update task..")
with make_db(self.db) as db:
try:
nas_list = db.query(models.TrBas)
for nas in nas_list:
if not nas.dns_name:
continue
results, _, _ = yield client.lookupAddress(nas.dns_name)
if not results:
dispatch.pub(logger.EVENT_INFO, "domain {0} resolver empty".format(nas.dns_name))
if results[0].type == dns.A:
ipaddr = ".".join(str(i) for i in struct.unpack("BBBB", results[0].payload.address))
if ipaddr:
nas.ip_addr = ipaddr
db.commit()
dispatch.pub(
logger.EVENT_INFO, "domain {0} resolver {1} success".format(nas.dns_name, ipaddr)
)
else:
dispatch.pub(
logger.EVENT_INFO, "domain {0} no ip address,{1}".format(nas.dns_name, repr(results))
)
except Exception as err:
dispatch.pub(logger.EVENT_ERROR, "ddns process error %s" % utils.safeunicode(err.message))
defer.returnValue(60)
示例7: debug
def debug(message,**kwargs):
if not isinstance(message, unicode):
message = safeunicode(message)
if EVENT_DEBUG in dispatch.dispatch.callbacks:
dispatch.pub(EVENT_DEBUG,message,**kwargs)
if EVENT_TRACE in dispatch.dispatch.callbacks:
dispatch.pub(EVENT_TRACE,"debug",message,**kwargs)
示例8: error
def error(message,**kwargs):
if not isinstance(message, unicode):
message = safeunicode(message)
if EVENT_ERROR in dispatch.dispatch.callbacks:
dispatch.pub(EVENT_ERROR,message,**kwargs)
if EVENT_TRACE in dispatch.dispatch.callbacks:
dispatch.pub(EVENT_TRACE,"error",message,**kwargs)
示例9: post
def post(self):
account_number = self.get_argument("account_number")
account = self.db.query(models.TrAccount).get(account_number)
if account.status != 2:
return self.render_json(code=1, msg=u"用户当前状态不允许复机")
account.status = 1
_datetime = datetime.datetime.now()
_pause_time = datetime.datetime.strptime(account.last_pause, "%Y-%m-%d %H:%M:%S")
_expire_date = datetime.datetime.strptime(account.expire_date + ' 23:59:59', "%Y-%m-%d %H:%M:%S")
days = (_expire_date - _pause_time).days
new_expire = (_datetime + datetime.timedelta(days=int(days))).strftime("%Y-%m-%d")
account.expire_date = new_expire
accept_log = models.TrAcceptLog()
accept_log.accept_type = 'resume'
accept_log.accept_source = 'console'
accept_log.accept_desc = u"用户复机:上网账号:%s" % (account_number)
accept_log.account_number = account.account_number
accept_log.accept_time = utils.get_currtime()
accept_log.operator_name = self.current_user.username
self.db.add(accept_log)
self.db.commit()
dispatch.pub(db_cache.CACHE_DELETE_EVENT,account_cache_key(account.account_number), async=True)
return self.render_json(msg=u"操作成功")
示例10: info
def info(message,trace="info",**kwargs):
if not isinstance(message, unicode):
message = safeunicode(message)
if EVENT_INFO in dispatch.dispatch.callbacks:
dispatch.pub(EVENT_INFO,message,**kwargs)
if EVENT_TRACE in dispatch.dispatch.callbacks:
dispatch.pub(EVENT_TRACE,trace,message,**kwargs)
示例11: post
def post(self):
account_number = self.get_argument("account_number")
account = self.db.query(models.TrAccount).get(account_number)
if account.status != 1:
return self.render_json(code=1, msg=u"用户当前状态不允许停机")
_datetime = utils.get_currtime()
account.last_pause = _datetime
account.status = 2
accept_log = models.TrAcceptLog()
accept_log.accept_type = "pause"
accept_log.accept_source = "console"
accept_log.accept_desc = u"用户停机:上网账号:%s" % (account_number)
accept_log.account_number = account.account_number
accept_log.accept_time = _datetime
accept_log.operator_name = self.current_user.username
self.db.add(accept_log)
self.db.commit()
dispatch.pub(ACCOUNT_PAUSE_EVENT, account.account_number, async=True)
dispatch.pub(db_cache.CACHE_DELETE_EVENT, account_cache_key(account.account_number), async=True)
return self.render_json(msg=u"操作成功")
示例12: bill_botimes
def bill_botimes(self,online, product):
#买断时长
logger.info('%s > Buyout long time billing ' % self.account.account_number)
time_length = self.get_user_time_length()
sessiontime = self.request.acct_session_time
billing_times = online.billing_times
acct_times = sessiontime - billing_times
if acct_times < 0:
acct_times = 0
user_time_length = time_length - acct_times
if user_time_length < 0 :
user_time_length = 0
self.update_billing(Storage(
account_number = online.account_number,
nas_addr = online.nas_addr,
acct_session_id = online.acct_session_id,
acct_start_time = online.acct_start_time,
acct_session_time = self.request.acct_session_time,
input_total = self.get_input_total(),
output_total = self.get_output_total(),
acct_times = acct_times,
acct_flows = 0,
acct_fee = 0,
actual_fee = 0,
balance = 0,
time_length = user_time_length,
flow_length = 0,
is_deduct = 1,
create_time = datetime.datetime.now().strftime( "%Y-%m-%d %H:%M:%S")
))
if user_time_length == 0 :
dispatch.pub(UNLOCK_ONLINE_EVENT,
online.account_number,online.nas_addr, online.acct_session_id,async=True)
示例13: debug
def debug(message,**kwargs):
if not isinstance(message, unicode):
message = safeunicode(message)
if EVENT_DEBUG in dispatch.dispatch.callbacks:
dispatch.pub(EVENT_DEBUG,message,**kwargs)
else:
default_log.debug(message)
示例14: post
def post(self):
try:
request = self.parse_form_request()
account_number = request.get('account_number')
if not account_number:
raise Exception("account_number is empty")
account = self.db.query(models.TrAccount).filter_by(account_number=account_number).first()
if not account:
raise Exception("account is not exists")
self.db.query(models.TrAcceptLog).filter_by(account_number=account.account_number).delete()
self.db.query(models.TrAccountAttr).filter_by(account_number=account.account_number).delete()
self.db.query(models.TrBilling).filter_by(account_number=account.account_number).delete()
self.db.query(models.TrTicket).filter_by(account_number=account.account_number).delete()
self.db.query(models.TrOnline).filter_by(account_number=account.account_number).delete()
self.db.query(models.TrAccount).filter_by(account_number=account.account_number).delete()
self.db.query(models.TrCustomerOrder).filter_by(account_number=account.account_number).delete()
self.add_oplog(u'API删除用户账号%s' % (account.account_number))
self.db.commit()
dispatch.pub(ACCOUNT_DELETE_EVENT, account.account_number, async=True)
dispatch.pub(cache.CACHE_DELETE_EVENT,account_cache_key(account.account_number), async=True)
return self.render_result(code=0, msg='success')
except Exception as err:
self.render_result(code=1, msg=utils.safeunicode(err.message))
import traceback
traceback.print_exc()
return
示例15: bill_boflows
def bill_boflows(self, online, product):
#买断流量
dispatch.pub(logger.EVENT_INFO,'%s > Buyout flow billing ' % self.account.account_number)
flow_length = self.get_user_flow_length()
output_total = self.get_output_total()
billing_output_total = online.output_total
acct_flows = output_total - billing_output_total
user_flow_length = flow_length - acct_flows
if user_flow_length < 0 :
user_flow_length = 0
self.update_billing(Storage(
account_number = online.account_number,
nas_addr = online.nas_addr,
acct_session_id = online.acct_session_id,
acct_start_time = online.acct_start_time,
acct_session_time = self.request.acct_session_time,
input_total = self.get_input_total(),
output_total = self.get_output_total(),
acct_times = 0,
acct_flows = acct_flows,
acct_fee = 0,
actual_fee = 0,
balance = 0,
time_length = 0,
flow_length = user_flow_length,
is_deduct = 1,
create_time = datetime.datetime.now().strftime( "%Y-%m-%d %H:%M:%S")
))
if user_flow_length == 0 :
self.disconnect(online)