示例#1
0
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()
示例#2
0
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)
示例#3
0
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)])
示例#4
0
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)])
示例#5
0
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()
示例#6
0
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')
示例#7
0
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')
示例#8
0
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()
示例#9
0
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')
示例#10
0
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')
示例#11
0
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()
示例#12
0
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()
示例#13
0
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)
示例#14
0
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)
示例#15
0
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)
示例#16
0
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()
示例#17
0
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')
示例#18
0
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()
示例#19
0
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)
示例#20
0
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 ====')
示例#21
0
# -*- 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
示例#22
0
# 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:
示例#24
0
文件: server.py 项目: Heyff12/vueMuch
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)
示例#25
0
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