示例#1
0
 def destroy(self):
     Logger.getlogger().info(
         "Thread: %s, call destroy(), then call dismiss(), join()!",
         threading.currentThread().getName())
     # order is important: first, request all threads to stop...:
     for i in self.workers:
         self.workers[i].dismiss()
     # ...then, wait for each of them to terminate:
     for i in self.workers:
         self.workers[i].join()
     # clean up the workers from now-unused thread objects
     del self.workers
示例#2
0
 def run(self):
     while True:
         # Processing tasks in the in_queue until command is stop.
         command, callback, args, kwds = self.in_queue.get()
         if command == 'stop':
             Logger.getlogger().info(
                 "Thread: %s, exit via command='stop' flag!",
                 threading.currentThread().getName())
             break
         try:
             if command != 'process':
                 raise ValueError, 'Unknown command %r' % command
         except:
             self.report_error()
         else:
             try:
                 callback(*args, **kwds)
             except Exception as e:
                 print e
示例#3
0
    def __init__(self, *args, **kwargs):
        super(Login2Ctrip, self).__init__()
        self.logger = Logger.getlogger()
        self.url_userValidateNoRisk = 'https://passport.ctrip.com/gateway/api/soa2/12559/userValidateNoRisk'
        self.url_getMemberTaskByUID = 'https://passport.ctrip.com/gateway/api/soa2/11464/getMemberTaskByUID'
        self.url_userLogin = '******'
        self.url_ssoCrossSetCookie = 'https://accounts.ctrip.com/ssoproxy/ssoCrossSetCookie'
        self.login_result = {}
        self.rmsToken = "fp=yt8oak-1bn7wi6-1g3pebz&vid=mytime.2rsmg9&pageId=10320670296&r=f3106a5833fb490b96920fc0c610ecb3&ip=myip&kpData=0_0_0&kpControl=0_0_0-0_0_0&kpEmp=0_0_0_0_0_0_0_0_0_0-0_0_0_0_0_0_0_0_0_0-0_0_0_0_0_0_0_0_0_0&screen=1280x800&tz= 8&blang=en-US&oslang=en-US&ua=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36&d=passport.ctrip.com&v=22"
        self.rmsTokenSearch = ''

        self.session = requests.Session()
        Proxy.get_proxy(self.session, Login2Ctrip.proxy, 10)
        self.logger.info('Get proxy: %s', self.session.proxies)
        self.ip = str(self.session.proxies['http'].split('@')[1].split(':')[0])
        self.port = str(
            self.session.proxies['http'].split('@')[1].split(':')[1])
示例#4
0
 def __init__(self, session, js_url, login2ctrip):
     super(CtripClickBooking, self).__init__()
     self.logger = Logger.getlogger()
     self.tasklist = 'PromoteVerify'
     self.proxy = {
         'url': 'http://proxy.my.com/proxy',
         'params': {
             "method": "c_hotel",
             "group": "cadsl",
             "mode": 1,
             "url": 1,
             "level": "HTTPS",
             "expire": -1
         }
     }
     self.js_url = js_url
     self.session = session
     self.login2ctrip = login2ctrip
     self.url_inputneworder = 'http://hotels.ctrip.com/internationalbook/inputneworder.aspx?ctm_ref=hi_0_0_0_0_lst_sr_1_df_ls_1_n_hi_bk_1_0'
示例#5
0
    app_startup_path = os.path.dirname(os.path.realpath(__file__))

    # params
    MAIN_PROCESS = sys.argv[0][sys.argv[0].rfind(r'/') + 1:]
    settings = {'parent_process': MAIN_PROCESS}
    params = sys.argv[0:]
    for p in params[1:]:
        name = p.split('=')[0].strip(' ')
        if name == 'num_jspool':
            set_jspool(int(p.split('=')[1].strip(' ')))
        elif name == 'num_proxy_ip':
            set_proxy_ip(int(p.split('=')[1].strip(' ')))
        elif name == 'log_path':
            LOG_PATH = p.split('=')[1].strip(' ')

    logger = Logger.getlogger(level=logging.DEBUG, name=LOG_NAME, path=LOG_PATH)
    logger.info('<<<========================= PhantomJS Service This log starting at %s =========================>>>', time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

    logger.info('Thread: %s, num_threadpool=%s', thread_name, NUM_THREADPOOL)
    logger.info('Thread: %s, num_phantomjspool=%s', thread_name, get_jspool())
    # logger.info('Thread: %s, num_proxy_ip=%s', thread_name, get_proxy_ip())

    # start threading to update network PROXY
    # thread_proxy_daemon = FixProxy()
    # thread_proxy_daemon.name = 'thread_proxy_daemon'
    # thread_proxy_daemon.setDaemon(True)
    # thread_proxy_daemon.start()
    # logger.info('Thread: %s, thread_proxy_daemon start... please waiting for few minutes...', thread_name)

    # create phantomjs pool
    JS_PID = PhantomJSPool.init(num=get_jspool())
示例#6
0
            for p in params[1:]:
                name = p.split('=')[0].strip(' ')
                if name == 'log_path':
                    settings['log_path'] = p.split('=')[1].strip(' ')
                elif name == 'js_url':
                    settings['js_url'] = p.split('=')[1].strip(' ')
        else:
            print 'Please give some args like:environment=dev log_path=/source/python/... for launching application! Well be exit 0!'
            sys.exit(0)
    except Exception as e:
        print 'Application init settings error!!! Well be exit -1!\n%s' % traceback.format_exc(
        )
        sys.exit(-1)

    logger = Logger.getlogger(level=logging.DEBUG,
                              name='promoteverify',
                              path=settings['log_path'])
    logger.info(
        '<<<========================= Promote Verify This log starting at %s =========================>>>',
        time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
    logger.info("Application launched environment is: '%s'!", environment)

    # session
    session = None

    # Redis Key:
    task_key = 'PromoteVerify'
    task_status_key = 'PromoteVerify_Status'

    while 1:
        try:
示例#7
0
    last_hour = ''
    statisitc_path = ''
    statisitc_fname = ''
    log_path = ''
    for p in params[1:]:
        name = p.split('=')[0].strip(' ')
        if name == 'db_use':
            settings['db_use'] = p.split('=')[1].strip(' ')
        elif name == 'last_hour':
            last_hour = p.split('=')[1].replace('_', ' ')
        elif name == 'statisitc_path':
            statisitc_path = p.split('=')[1].strip(' ')
        elif name == 'statisitc_fname':
            statisitc_fname = p.split('=')[1].strip(' ')
        elif name == 'log_path':
            log_path = p.split('=')[1].strip(' ')

    logger = Logger.getlogger(level=logging.DEBUG,
                              name='promoteverify_statistic',
                              path=log_path)
    logger.info(
        '<<<========================= Promoteverify click statistic This log starting at %s =========================>>>',
        time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

    logger.info('last_hour = %s', last_hour)
    logger.info('statisitc_path = %s', statisitc_path)
    logger.info('statisitc_path = %s', statisitc_path)

    statistic(last_hour, statisitc_path, statisitc_fname)
示例#8
0
 def dismiss(self):
     command = 'stop'
     Logger.getlogger().info(
         "Thread: %s, call dismiss(), set command: 'stop'!",
         threading.currentThread().getName())
     self.in_queue.set((command, None, None, None))