def test(): from qfcommon.thriftclient.payprocessor import PayProcessor from qfcommon.base import logger global log logger.install('stdout') log = logger.log log.debug('test ...') serverlist = [ { 'addr': ('127.0.0.1', 4300), 'timeout': 1000 }, { 'addr': ('127.0.0.1', 4200), 'timeout': 1000 }, ] sel = selector.Selector(serverlist) for i in range(0, 10): client = ThriftClient(sel, PayProcessor) client.ping() server = sel.next() server['valid'] = False #log.debug('restore ...') #restore(sel) print '-' * 60 for i in range(0, 10): client = ThriftClient(sel, PayProcessor) client.ping()
def test2(): from qfcommon.base import logger, dbpool logger.install('stdout') DATABASE = { 'test': # connection name, used for getting connection from pool { 'engine': 'mysql', # db type, eg: mysql, sqlite 'db': 'test', # db name 'host': '127.0.0.1', # db host 'port': 3306, # db port 'user': '******', # db user 'passwd': '123456', # db password 'charset': 'utf8', # db charset 'conn': 2 } # db connections in pool } dbpool.install(DATABASE) with dbpool.get_connection('test') as conn: for i in range(0, 10): myid = new_id64(conn=conn) print time.time(), time.localtime()[:] print myid, unpack_id64(myid) print unpack_time_id64(myid)
def test_settlementquery(): from qfcommon.base import logger logger.install('stdout') from qfcommon.base.http_client import Urllib2Client w = Weixin('wxd3cd0fc1de73438d', '2991947cf8dc4077a2258ee7dfc259c0', '1301629101') data = w.settlementquery('20160214', '20160315', 1) import urllib2 print Urllib2Client().post_xml( WEIXIN_URL_SETTLEMENT_QUERY, {'xml': data}, handlers=[urllib2.HTTPSHandler(debuglevel=1)])
def test_down(): from qfcommon.base import logger logger.install('stdout') from qfcommon.base.http_client import Urllib2Client, RequestsClient w = Weixin('wxd3cd0fc1de73438d', '2991947cf8dc4077a2258ee7dfc259c0', '1301629101') time = '20160222' data = w.downloadbill(time, 'ALL') import urllib2 ret = Urllib2Client().post_xml( WEIXIN_URL_DOWNLOAD_BILL, {'xml': data}, handlers=[urllib2.HTTPSHandler(debuglevel=2)])
def test2(): from qfcommon.thriftclient.encryptor import Encryptor from qfcommon.base import logger global log logger.install('stdout') log = logger.log log.debug('test ...') serverlist = [ {'addr':('127.0.0.1',4200), 'timeout':1000}, {'addr':('127.0.0.1',4201), 'timeout':1000}, ] sel = selector.Selector(serverlist) client = ThriftClient(sel, Encryptor) client.ping2()
def test1(): from qfcommon.base import logger logger.install('stdout') sendmail_balance([ { 'smtp': 'smtp.exmail.qq.com', 'from': '*****@*****.**', 'password': '' }, { 'smtp': 'smtp.exmail.qq.com', 'from': '*****@*****.**', 'password': '' }, ], '*****@*****.**', 'haha', 'content test 222')
def test(): from qfcommon.base import logger log = logger.install('stdout') #loc = os.path.join(path, 'templates') loc = '/Users/apple/projects/python/xx8xx8/web/templates/default/admin' r = Render(loc, 'tmp') print r.display("test.html", name='zhaowei')
def test1(): from qfcommon.base import logger global log log = logger.install('stdout') log.info('init') tp = ThreadPool(10) tp.start() class SimpleTask2(Task): def __init__(self, n, a=None): self.name = n super(SimpleTask2, self).__init__(a) def run(self): log.info('in task run, %s', self.name) time.sleep(2) log.info('ok, end task run %s', self.name) return self.name + '!!!' t = SimpleTask2('haha') log.info('add ...') tp.add(t) log.info('result:%s', t.get_result(1000)) tp.stop()
def test_http(): from qfcommon.base import logger from qfcommon.base.http_client import RequestsClient logger.install('stdout') SERVER = [ { 'addr': ('127.0.0.1', 6200), 'timeout': 20 }, { 'addr': ('127.0.0.1', 6201), 'timeout': 2000 }, ] client = HttpClient(SERVER, client_class=RequestsClient) while 1: print client.get('/ping') raw_input('go')
def test4(): from qfcommon.thriftclient.payprocessor import PayProcessor from qfcommon.base import logger global log log = logger.install('stdout') log.debug('test ...') server_name = 'paycore' for i in range(0, 10): client = ThriftClient(server_name, PayProcessor) client.ping()
def test2(): from qfcommon.thriftclient.encryptor import Encryptor from qfcommon.base import logger global log logger.install('stdout') log = logger.log log.debug('test ...') serverlist = [ { 'addr': ('127.0.0.1', 4200), 'timeout': 1000 }, { 'addr': ('127.0.0.1', 4201), 'timeout': 1000 }, ] sel = selector.Selector(serverlist) client = ThriftClient(sel, Encryptor) client.ping2()
def test3(): from qfcommon.thriftclient.notifier import Notifier from qfcommon.base import logger global log logger.install('stdout') log.debug("test framed transport") serverlist = [ {'addr':('172.100.101.151', 15555), 'timeout':1000}, ] sel = selector.Selector(serverlist) client = ThriftClient(sel, Notifier, frame_transport=True) notify = { "notify_url":"http://172.100.101.151:8989/", "notify_data": { "orderstatus":"5", } } import json ret = client.send_notify(json.dumps(notify)) log.debug("send notify return:%s", ret)
def test4(): from qfcommon.base import logger log = logger.install('stdout') from qfcommon.web.http import Request, Response class Req: def __init__(self, data): self.data = data def input(self): return self.data class Test: def __init__(self): self.req = Req({'name': 'aaaaa', 'age': '12', 'money': '12.44'}) self.resp = Response() @with_validator([ Field('age', T_INT), Field('money', T_INT), Field('name'), ]) def testfunc(self): log.info('testfunc ...') @with_validator([ Field('age', T_INT), Field('money', T_FLOAT), Field('name'), ]) def testfunc2(self): log.info('testfunc2 ...') @with_validator([ Field('age', T_INT), Field('money', T_FLOAT), Field('name', T_STR), ]) def testfunc3(self): log.info('testfunc3 ...') t = Test() t.testfunc() log.info('after validator: %s', t.validator.data) t.testfunc2() log.info('after validator: %s', t.validator.data) t.testfunc3() log.info('after validator: %s', t.validator.data)
def test3(): from qfcommon.thriftclient.notifier import Notifier from qfcommon.base import logger global log logger.install('stdout') log.debug("test framed transport") serverlist = [ { 'addr': ('172.100.101.151', 15555), 'timeout': 1000 }, ] sel = selector.Selector(serverlist) client = ThriftClient(sel, Notifier, frame_transport=True) notify = { "notify_url": "http://172.100.101.151:8989/", "notify_data": { "orderstatus": "5", } } import json ret = client.send_notify(json.dumps(notify)) log.debug("send notify return:%s", ret)
def test(): from qfcommon.thriftclient.payprocessor import PayProcessor from qfcommon.base import logger global log logger.install('stdout') log = logger.log log.debug('test ...') serverlist = [{'addr':('127.0.0.1',4300), 'timeout':1000}, {'addr':('127.0.0.1', 4200), 'timeout':1000}, ] sel = selector.Selector(serverlist) for i in range(0, 10): client = ThriftClient(sel, PayProcessor) client.ping() server = sel.next() server['valid'] = False #log.debug('restore ...') #restore(sel) print '-'*60 for i in range(0, 10): client = ThriftClient(sel, PayProcessor) client.ping()
def test(): from qfcommon.base import logger global log log = logger.install('ScreenLogger') tp = ThreadPool(10) for i in range(0, 100): t = SimpleTask(str(i)) tp.add(t) tp.start() while True: done, error = tp.info() log.info('applys:', done, error) cc = done + error time.sleep(1) if cc == 100: break tp.stop() log.info('end')
def test2(): from qfcommon.base import logger global log log = logger.install('stdout') log.info('init') tp = ThreadPool(10) tp.start() def run(obj, name): log.info('in task run, %s', name) time.sleep(1) log.info('ok, end task run %s', name) return name + '!!!' log.info('add ...') t = Task(func=run, name='haha') tp.add(t) log.info('result:%s', t.get_result(1000)) tp.stop()
from gevent import monkey monkey.patch_all() from qfcommon.base import logger, loader if __name__ == '__main__': loader.loadconf_argv(HOME) else: loader.loadconf(HOME) import config import urls # 导入服务日志 if config.LOGFILE: log = logger.install(config.LOGFILE) else: log = logger.install('stdout') from qfcommon.web import core from qfcommon.web import runner if getattr(config, 'REDIS_LOG', True): from qfcommon.base.redispool import patch patch() # 导入WEB URLS config.URLS = urls.urls app = core.WebApplication(config)
def test3(): from qfcommon.base import logger global log log = logger.install('stdout') log.info('init') tp = ThreadPool(10) tp.start() def run(obj, name): #log.info('in task run, %s', name) #time.sleep(1) #log.info('ok, end task run %s', name) return name + '!!!' log.info('add ...') t = Task(func=run, name='haha') tp.add(t) log.info('result:%s', t.get_result(1000)) # test n = 100000 # local tstart = time.time() for i in xrange(0, n): t = Task(func=run, name='haha') run(None, 'haha') tend = time.time() print 'local call ## time:%.6f qps:%d avg:%d' % (tend - tstart, n / (tend - tstart), ((tend - tstart) / n) * 1000000) # queue q = Queue.Queue() tstart = time.time() for i in xrange(0, n): q.put(run(None, 'haha'), timeout=1) q.get() tend = time.time() print 'queue call ## time:%.6f qps:%d avg:%d' % (tend - tstart, n / (tend - tstart), ((tend - tstart) / n) * 1000000) # thread, task no wait tstart = time.time() for i in xrange(0, n): t = Task(func=run, name='haha') tp.add(t) #t.get_result(100) tend = time.time() print 'thread call ## time:%.6f qps:%d avg:%d' % (tend - tstart, n / (tend - tstart), ((tend - tstart) / n) * 1000000) # thread, task wait tp.stop() log.info('==== end ====')
# -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf8') #from __future__ import division import os HOME = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(HOME) sys.path.append(os.path.join(os.path.dirname(HOME), 'conf')) from qfcommon.base import logger log = logger.install('stdout') from qfcommon.base import loader loader.loadconf_argv(HOME) import urllib2 import urllib import logging import string import datetime import traceback import json import config from qfcommon.base import dbpool dbpool.install(config.DATABASE) #from requests import post,get from qfcommon.base.http_client import Urllib2Client from qfcommon.base.dbpool import with_database, get_connection_exception, get_connection from qfcommon.server.client import ThriftClient
# coding: utf-8 import os, sys from qfcommon.base import logger log = logger.install('stdout') import gevent import gevent.monkey gevent.monkey.patch_all() from gevent.server import StreamServer import msgpack, struct def handler(socket, address): lenstr = socket.read(4) length = struck.unpack('I', lenstr) log.debug('length:%s', length) def start(): addr = ('0.0.0.0', 9090) serv = StreamServer(addr, handler) log.info('server start at:%s', addr) serv.serve_forever() if __name__ == '__main__': start()
#!/usr/bin/env python #utf-8 import os, sys, time import re,urllib2,json import imaplib, email, smtplib from email.mime.text import MIMEText HOME = os.path.dirname(os.path.abspath(__file__)) sys.path.append(os.path.join(os.path.dirname(HOME), 'dev')) from qfcommon.base import logger logger.install("/home/qixiyi/get_ip.log") import logging log = logging.getLogger() g_send_list = [] class MyIP: def __init__(self): self.web_urls = [ "http://www.ip138.com/ip2city.asp", "http://www.whereisg_myip.com/", ] self.wan_ip = "" def get_wan_ip(self): self.wan_ip = "" for url in self.web_urls: try: log.info("try visit %s ..." % url) self.wan_ip = self.visit(url) except:
from qfcommon.base import loader HOME = os.path.dirname(os.path.abspath(__file__)) loader.loadconf(HOME) sys.path.append(os.path.dirname(HOME)) from qfcommon.base import logger, dbpool from qfcommon.web import core, runner, cache cache.install() import dbenc from bin import urls from conf import config if config.LOG_WHEN: log = logger.install(config.LOGFILE, when=config.LOG_WHEN) else: log = logger.install(config.LOGFILE) def _trans_token_db_conf(db_settings): import copy db_settings = copy.deepcopy(db_settings) ret = {} dbconf = dbenc.DBConf() for db_name, db_cfg in db_settings.items(): token = db_cfg.pop('token') new_cfg = dbconf.get_dbpool(token, **db_cfg)
import json import traceback import time HOME = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(HOME) sys.path.append(os.path.join(os.path.dirname(HOME), 'conf')) from qfcommon.base import loader loader.loadconf_argv(HOME) import config from qfcommon.base import dbpool dbpool.install(config.DATABASE) from qfcommon.base import logger log = logger.install(config.LOGFILE) from util import redis_pool, hids, str_timestamp from constants import DATE_FMT from qfcommon.base.dbpool import get_connection from qfcommon.base.tools import thrift_callex from qfcommon.server.client import HttpClient from qfcommon.thriftclient.open_user import OpenUser # 是否制定特定的商户推送 try: LIMIT_USER = int(redis_pool.get('_mchnt_api_limit_user_flag_') or 0) except: LIMIT_USER = True