iro/worker.py
changeset 23 0180b538ed74
parent 20 0d7ffb9b2c7f
child 41 02e9b54ef4f0
equal deleted inserted replaced
22:8b363361ba55 23:0180b538ed74
     1 # -*- coding: utf-8 -*-
     1 # -*- coding: utf-8 -*-
     2 # Worker code
     2 # Worker code
     3 
     3 
     4 from multiprocessing import Process
     4 from multiprocessing import Process
     5 import logging
     5 import logging
       
     6 logger = logging.getLogger("iro.worker")
     6 import time
     7 import time
     7 
     8 
     8 class Worker(Process):
     9 class Worker(Process):
     9     def __init__(self,queue):
    10     def __init__(self,queue):
    10         Process.__init__(self)
    11         Process.__init__(self)
    11         self.queue=queue
    12         self.queue=queue
    12         
    13         
    13     def run(self):
    14     def run(self):
    14         logging.info('Worker thread läuft nun...')
    15         logger.info('Worker thread läuft nun...')
    15         id=0
    16         id=0
    16         while 1:
    17         while 1:
    17             job=self.queue.get()
    18             job=self.queue.get()
    18             if job is None:
    19             if job is None:
    19                 break # reached end of queue
    20                 break # reached end of queue
    20             id+=1
    21             id+=1
    21             logging.info('ein neuer Job(%d)' %(id))
    22             logger.info('ein neuer Job(%d)' %(id))
    22             try:
    23             try:
    23                 job.start(id)
    24                 job.start(id)
    24                 logging.info('Job(%d) fertig ;)'%(id))
    25                 logger.info('Job(%d) fertig ;)'%(id))
    25             except:
    26             except:
    26                 logging.exception('Job(%d) fehlgeschlagen :('%(id))
    27                 logger.exception('Job(%d) fehlgeschlagen :('%(id))