예제 #1
0
class Worker:
    def __init__(self):
        self.logger = Logger('/var/log/MediaParse_woker.log', 'debug',
                             'Worker')
        self.logger.debug('Worker init over.')

        self.parser = Parser()
        self.parser.set_parse_tool('/root/MediaParse/_release/bin/ffprobe')

        self.task_queue = Rqueue(name='parse_task')
        self.redis = redis.Redis(host='localhost', port=6379, db=0)

    def run(self):
        self.logger.debug('Worker run start.')
        while True:
            try:
                # get task
                task = self.get_parse_task()
                self.logger.debug('get task: %s.' % (task))

                if task != None:
                    self.do_parse_task(task)

            except Exception, ex:
                self.logger.error("error:%s" % (ex))

            time.sleep(3)

        self.logger.debug('Worker run over.')
예제 #2
0
class Action(object):
    #
    #封装所有页面都公用的方法
    #

    def __init__(self,driver,page_url=None,page_title=None):
        self.page_url=page_url
        self.page_title=page_title
        self.driver=driver
        self.driver.maximize_window()
        self.driver.implicitly_wait(30)
        self.Test_log=Logger()
    def add_img(self,imgs):
        imgs.append(self.driver.get_screenshot_as_base64())
    def open(self):
        ## open方法调用_open进行打开链接
        self._open(self.page_url,self.page_title)
    def on_page(self,page_url):
        ##判断获取当前窗口Url地址,进行与配置地址作比较,返回比较结果(True False)
        return page_url in self.driver.current_url
    def _open(self,page_url,page_title):
        #打开页面,检验页面链接是否加载正确

        if page_url and page_title is not None:
            self.driver.get(page_url)
            #print("打开网址%s" % page_url)
            self.Test_log.info("打开网址%s" % page_url)
            #print("网页预期标题:%s" % page_title)
            self.Test_log.info("网页预期标题:%s" % page_title)
            # 使用assert进行校验,打开的链接地址是否与配置的地址一致。调用on_page()方法
            assert self.on_page(page_url),self.Test_log.error(u"打开页面%s失败" %page_url)
    def find_element(self,*locator):
        try:
            #print("定位元素:%s" % (locator,))
            self.Test_log.info("定位元素:%s" % (locator,))
            return WebDriverWait(self.driver,20).until(EC.presence_of_element_located(locator))
        except Exception as msg:
            self.Test_log.info(u"%s 页面中未能找到 %s 元素" %(self,locator))
            #print(u"%s 页面中未能找到 %s 元素" %(self,locator))
            #print("错误信息%s" %msg)
            self.Test_log.info("错误信息%s" %msg)
    def send_keys(self,locator,value,clear_first=True):
        #重新定义send_keys方法,元素内存在文本就先清空
        element=self.find_element(*locator)
        if clear_first :
            element.clear()
            element.send_keys(value)
        else:
            element.send_keys(value)
        #print("输入值:%s" % value)
        self.Test_log.info("输入值:%s" % value)
    def click_on(self,locator):
        #点击按钮
        self.find_element(*locator).click()
    def switch_frame(self,frame_loc):
        #切换frame
        self.driver.switch_to.frame(frame_loc)
예제 #3
0
from common.Log import Logger

logger = Logger()
log = logger.get_logger()
logger.error('dddddddddd')
예제 #4
0
    drsu_location_x = 234804.2
    drsu_location_y = 3344694.69
    acu_ori_data_path = 'D:\\pycharm_ws\\clip_csv_data\\test\\40_come_1.csv'
    drsu_file_path = 'D:\\pycharm_ws\\clip_csv_data\\test\\31_drsudata_40km.csv'
    image_path = 'D:\\pycharm_ws\\clip_csv_data\\test\\picture\\40_come_1.jpg'
    '''
    acu_select_data = pd.DataFrame(columns=[
        'acu_db_time_stamp', 'acu_st_coordicate_dbx', 'acu_st_coordicate_dby',
        'acu_st_coordicate_dbz', 'acu_st_line_speed_x', 'acu_st_line_speed_y',
        'acu_st_line_speed_z'
    ])
    pd.set_option('display.max_columns', None)
    args = Args(1)
    if args.flag == 1:
        if not os.path.exists(args.drsu_path):
            logger.error("drsu file path is not exist!")
            sys.exit(0)
        if not os.path.exists(args.acu_path):
            logger.error("acu file path is not exist!")
            sys.exit(0)
        logger.info("read acu data: ")
        acu_flag = read_acu_ori_data(args.acu_path, acu_select_data,
                                     args.detal_time)
        if ACU_FILE_PATH_ERROR == acu_flag or FLAG == acu_flag:
            sys.exit(0)
        logger.info("read drsu data: ")
        drsu_data = pd.read_csv(args.drsu_path)

        if drsu_data.empty:
            logger.error("drsu 数据获取失败!")
            sys.exit(0)
예제 #5
0
            self.mod_drsu_cfg(self.drsu.radar_config_file)
        # 如果需要注册到真实drc环境,则使用drsu_common_config_test.json,并且修改部分配置
        else:
            self.mod_drsu_para(self.drsu.para_file)
            self.mod_drsu_cfg(self.drsu.config_file)

    def set_update_version(self, version):
        if self.get_update_version() == version or version is None:
            return
        version_file = '/dr/drsu_{}/bin/{}'.format(self._drsu_id, version)
        if self.is_exist_file(version_file):
            command = 'md5sum /dr/drsu_{}/bin/{} > update.bootup.img'.format(
                self._drsu_id, version)
            self.send_command(command)
            logger.info('drsu:%s update.bootup.img中的版本更换为:%s' %
                        (self._drsu_id, version))
        else:
            logger.warning('指定版本:%s不存在' % version)


if __name__ == '__main__':
    drsuconn = DrsuSSHConnection('12345', True, 0)
    if drsuconn.remote_ps_drsu_process_num() != 0:
        # 如果有残余进程,先杀进程 然后再重新启动
        drsuconn.remote_kill()
        time.sleep(5)
    drsuconn.remote_start_drsu()
    time.sleep(230)
    if not drsuconn.is_drsu_ready():
        logger.error('虚拟drc环境下drsu启动不成功')