Added a class for background working

This commit is contained in:
miao.lin 2013-06-28 15:25:31 +08:00
parent bfdb04716a
commit 6facca4cb3

38
src/class_bgWorker.py Normal file
View File

@ -0,0 +1,38 @@
#! /usr/bin/python
# -*- coding: utf-8 -*-
# cody by linker.lin@me.com
__author__ = 'linkerlin'
import threading
import Queue
import time
class BGWorker(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.q = Queue.Queue()
def post(self,job):
self.q.put(job)
def run(self):
while 1:
job=None
try:
job = self.q.get(block=True)
if job:
job()
except Exception as ex:
print "Error,job exception:",ex.message,type(ex)
time.sleep(0.05)
else:
#print "job: ", job, " done"
pass
finally:
time.sleep(0.05)
bgworker = BGWorker()
bgworker.setDaemon(True)
bgworker.start()