iro/worker.py
branchdevel
changeset 240 3406d3bf05d4
parent 239 4cf5e664c847
child 241 546316b0b09c
equal deleted inserted replaced
239:4cf5e664c847 240:3406d3bf05d4
     1 # -*- coding: utf-8 -*-
       
     2 # Worker code
       
     3 
       
     4 from multiprocessing import Process
       
     5 import logging
       
     6 logger = logging.getLogger("iro.worker")
       
     7 
       
     8 class Worker(Process):
       
     9     def __init__(self,queue):
       
    10         Process.__init__(self)
       
    11         self.queue=queue
       
    12         
       
    13     def run(self):
       
    14         logger.info('Workerprocess läuft nun...')
       
    15         indifier=0
       
    16         while 1:
       
    17             job=self.queue.get()
       
    18             if job is None:
       
    19                 break # reached end of queue
       
    20             indifier+=1
       
    21             logger.info('ein neuer Job(%d)' %(indifier))
       
    22             try:
       
    23                 job.start(indifier)
       
    24                 logger.info('Job(%d) fertig ;)'%(indifier))
       
    25             except:
       
    26                 job.setStatus("error")
       
    27                 logger.exception('Job(%d) fehlgeschlagen :('%(indifier))
       
    28