iro/worker.py
author Sandro Knauß <knauss@netzguerilla.net>
Sat, 08 Oct 2011 12:32:58 +0200
changeset 66 eabb8ead183d
parent 61 04dfd43dfecc
permissions -rw-r--r--
Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html Added testloglock.py from http://cherrypy.org/attachment/ticket/679/testloglock.py

# -*- coding: utf-8 -*-
# Worker code

from multiprocessing import Process
import logging
logger = logging.getLogger("iro.worker")

class Worker(Process):
    def __init__(self,queue):
        Process.__init__(self)
        self.queue=queue
        
    def run(self):
        logger.info('Workerprocess läuft nun...')
        indifier=0
        while 1:
            job=self.queue.get()
            if job is None:
                break # reached end of queue
            indifier+=1
            logger.info('ein neuer Job(%d)' %(indifier))
            try:
                job.start(indifier)
                logger.info('Job(%d) fertig ;)'%(indifier))
            except:
                job.setStatus("error")
                logger.exception('Job(%d) fehlgeschlagen :('%(indifier))