当前位置: 首页>>代码示例>>Python>>正文


Python Worker.purge_tasks方法代码示例

本文整理汇总了Python中Worker.Worker.purge_tasks方法的典型用法代码示例。如果您正苦于以下问题:Python Worker.purge_tasks方法的具体用法?Python Worker.purge_tasks怎么用?Python Worker.purge_tasks使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Worker.Worker的用法示例。


在下文中一共展示了Worker.purge_tasks方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Ranker

# 需要导入模块: from Worker import Worker [as 别名]
# 或者: from Worker.Worker import purge_tasks [as 别名]
class Ranker(object):
    def __init__(self, page_loager, result_filter):
        self._rank_worker = Worker()
        self._page_loader = page_loager
        self._result_filter = result_filter
        self._main_proc_timer = None
        self.__active = False
        self._lock_run = Lock()
        self._shutting_down = False

    def _get_active(self):
        """active property getter"""
        self._lock_run.acquire()
        ret_value = self.__active
        self._lock_run.release()
        return ret_value

    def _set_active(self, state):
        """active property setter"""
        if type(state) != types.BooleanType:
            raise TypeError("state should be boolean")
        self._lock_run.acquire()
        old_active = self.__active
        self.__active = state
        if not old_active:
            self._main_proc_timer = Timer(1, self._main_proc)
            self._main_proc_timer.start()
        self._lock_run.release()

    def ready_to_shutdown(self):
        return self._page_loader.ready_to_shutdown() and self._rank_worker.ready_to_shutdown()

    def purge_tasks(self, filter_not_match):
        self._rank_worker.purge_tasks(filter_not_match)

    def _main_proc(self):
        """
        Main procedure:
        get page from PageLoader, rank it and give it to ResultFilter
        """
        sleep_time = 1
        page_result = self._page_loader.get_loaded_page()
        # page_result is namedtuple('url, code, info, data, user_data')
        if page_result:
            if page_result.data:
                rw_task = WorkerTask(page_result, ranker_routine, page_result[0])
                self._rank_worker.add_task(rw_task)
            sleep_time = 0
        else:
            pass  # self._result_filter.thresholds[1] -= 1
        rw_completed_task = self._rank_worker.get_completed_task()
        if rw_completed_task:
            self._result_filter.submit_ranker_result(rw_completed_task.result)
            sleep_time = 0
            # print 'Completed!'
        self._lock_run.acquire()
        if self.__active:
            self._main_proc_timer = Timer(sleep_time, self._main_proc)
            self._main_proc_timer.start()
        self._lock_run.release()

    active = property(_get_active, _set_active)
开发者ID:ktisha,项目名称:ebook-service,代码行数:64,代码来源:Ranker.py


注:本文中的Worker.Worker.purge_tasks方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。