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


Python ResQ.close方法代码示例

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


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

示例1: Worker

# 需要导入模块: from pyres import ResQ [as 别名]
# 或者: from pyres.ResQ import close [as 别名]

#.........这里部分代码省略.........
                                                   ','.join(self.queues),
                                                   msg))

    def work(self, interval=5):
        """Invoked by ``run`` method. ``work`` listens on a list of queues and sleeps
        for ``interval`` time.

        ``interval`` -- Number of seconds the worker will wait until processing the next job. Default is "5".

        Whenever a worker finds a job on the queue it first calls ``reserve`` on
        that job to make sure another worker won't run it, then *forks* itself to
        work on that job.

        """
        self._setproctitle("Starting")
        logger.info("starting")
        self.startup()

        while True:
            if self._shutdown:
                logger.info('shutdown scheduled')
                break

            self.register_worker()

            job = self.reserve(interval)

            if job:
                self.fork_worker(job)
            elif interval == 0:
                self._setproctitle("Waiting")
        self.unregister_worker()
        # this may break other workers using the same connection. Added so that the remote redis will clean up.
        self.resq.close()

    def fork_worker(self, job):
        """Invoked by ``work`` method. ``fork_worker`` does the actual forking to create the child
        process that will process the job. It's also responsible for monitoring the child process
        and handling hangs and crashes.

        Finally, the ``process`` method actually processes the job by eventually calling the Job
        instance's ``perform`` method.

        """
        logger.debug('picked up job')
        logger.debug('job details: %s' % job)
        self.before_fork(job)

        self._setproctitle("Processing %s since %s" %
                               (job,
                               now_iso()))
        logger.info('Processing %s since %s' %
                         (job, now_iso()))
        # re-seed the Python PRNG after forking, otherwise
        # all job process will share the same sequence of
        # random numbers
        random.seed()

        self.after_fork(job)
        self.process(job)
        self.done_working(job)

    def before_fork(self, job):
        """
        hook for making changes immediately before forking to process
        a job
开发者ID:hellodigit,项目名称:pyres,代码行数:70,代码来源:worker.py


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