| author | Sandro Knauß <knauss@netzguerilla.net> |
| Mon, 05 Mar 2012 23:51:56 +0100 | |
| branch | devel |
| changeset 217 | d755b2e0cc0b |
| parent 61 | 04dfd43dfecc |
| permissions | -rw-r--r-- |
|
0
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
1 |
# -*- coding: utf-8 -*- |
|
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
2 |
# Worker code |
|
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
3 |
|
|
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
4 |
from multiprocessing import Process |
| 20 | 5 |
import logging |
|
23
0180b538ed74
logging->logger wg. multiprocessing
Sandro Knauß <knauss@netzguerilla.net>
parents:
20
diff
changeset
|
6 |
logger = logging.getLogger("iro.worker") |
|
0
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
7 |
|
|
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
8 |
class Worker(Process): |
|
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
9 |
def __init__(self,queue): |
|
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
10 |
Process.__init__(self) |
|
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
11 |
self.queue=queue |
|
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
12 |
|
|
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
13 |
def run(self): |
|
61
04dfd43dfecc
nun wird hashlib benutzt anstatt md5
Sandro Knauß <knauss@netzguerilla.net>
parents:
55
diff
changeset
|
14 |
logger.info('Workerprocess läuft nun...') |
| 55 | 15 |
indifier=0 |
|
0
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
16 |
while 1: |
|
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
17 |
job=self.queue.get() |
|
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
18 |
if job is None: |
|
a3b6e531f0d2
[svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
19 |
break # reached end of queue |
| 55 | 20 |
indifier+=1 |
21 |
logger.info('ein neuer Job(%d)' %(indifier)) |
|
| 20 | 22 |
try: |
| 55 | 23 |
job.start(indifier) |
24 |
logger.info('Job(%d) fertig ;)'%(indifier)) |
|
| 20 | 25 |
except: |
|
42
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
26 |
job.setStatus("error") |
| 55 | 27 |
logger.exception('Job(%d) fehlgeschlagen :('%(indifier)) |
|
42
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
28 |