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


Python Queue.start方法代码示例

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


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

示例1: SvcDoRun

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import start [as 别名]
    def SvcDoRun(self): 

        # start the queue in a separate thread
        queue = Queue()
        queue.start()

        cherrypy.tree.mount(QueueIndex(), '/')
        
        # in practice, you will want to specify a value for
        # server.log_file below or in your config file.  If you
        # use a config file, be sure to use an absolute path to
        # it, as you can't be assured what path your service 
        # will run in. 
        cherrypy.config.update({ 
            'global':{ 
                'autoreload.on': False, 
                'server.log_to_screen': False, 
            } 
        }) 
        # set init_only=True so that start() does not block 
        cherrypy.server.start(init_only=True) 
        # now, block until our event is set... 
        win32event.WaitForSingleObject(self.stop_event, win32event.INFINITE) 
开发者ID:0-T-0,项目名称:TACTIC,代码行数:25,代码来源:win32_service.py

示例2: Queue

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import start [as 别名]
# or disclosed in any way without written permission.
#
#
#

import cherrypy

from queue import Queue
from queue_index import QueueIndex


# create a web service


if __name__ == '__main__':

    # start the queue in a separate thread
    queue = Queue()
    queue.start()

    # start a cherrypy web service
    cherrypy.root = QueueIndex()
    cherrypy.config.update( {
        'global': { 'server.socketPort': 8082, 'server.environment': 'production' }
    } )
    cherrypy.server.start()




开发者ID:0-T-0,项目名称:TACTIC,代码行数:28,代码来源:slave_startup.py

示例3: QA_Thread

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import start [as 别名]
class QA_Thread(threading.Thread):
    '''
        '这是一个随意新建线程的生产者消费者模型'
        其实有个队列, 队列中保存的是 QA_Task 对象 , callback 很重要,指定任务的时候可以绑定 函数执行
        QA_Engine 继承这个类。
    '''

    def __init__(self, queue=None, name=None):
        threading.Thread.__init__(self)
        self.queue = Queue() if queue is None else queue
        self.thread_stop = False
        self.__flag = threading.Event()     # 用于暂停线程的标识
        self.__flag.set()       # 设置为True
        self.__running = threading.Event()      # 用于停止线程的标识
        self.__running.set()      # 将running设置为True
        self.name = QA_util_random_with_topic(topic='QA_Thread', lens=3) if name is None else name
        self.idle = False

    def __repr__(self):
        return '<QA_Thread{}  id={}>'.format(self.name, id(self))

    def run(self):
        while self.__running.isSet():
            self.__flag.wait()
            while not self.thread_stop:
                '这是一个阻塞的队列,避免出现消息的遗漏'
                try:
                    if self.queue.empty() is False:
                        _task = self.queue.get()  # 接收消息
                        assert isinstance(_task, QA_Task)
                        if _task.worker != None:

                            _task.do()

                            self.queue.task_done()  # 完成一个任务
                        else:
                            pass
                    else:
                        self.idle = True

                        # Mac book下风扇狂转,如果sleep cpu 占用率回下降
                        # time.sleep(0.01)
                except Exception as e:
                    raise e

    def pause(self):
        self.__flag.clear()

    def resume(self):
        self.__flag.set()    # 设置为True, 让线程停止阻塞

    def stop(self):
        # self.__flag.set()       # 将线程从暂停状态恢复, 如何已经暂停的话
        self.__running.clear()
        self.thread_stop = True        # 设置为False

    def __start(self):
        self.queue.start()

    def put(self, task):
        self.queue.put(task)

    def put_nowait(self, task):
        self.queue.put_nowait(task)

    def get(self, task):
        return self.get(task)

    def get_nowait(self, task):
        return self.get_nowait(task)

    def qsize(self):
        return self.queue.qsize()
开发者ID:liangshanbovsluomio,项目名称:QUANTAXIS,代码行数:75,代码来源:QAThreadEngine.py


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