Python AttributeError: el objeto no tiene atributo
Tengo una clase MyThread. En eso tengo una muestra de método. Estoy intentando ejecutarlo desde el mismo contexto de objeto. Por favor, eche un vistazo al código:
class myThread (threading.Thread):
def __init__(self, threadID, name, counter, redisOpsObj):
threading.Thread.__init__(self)
self.threadID = threadID
self.name = name
self.counter = counter
self.redisOpsObj = redisOpsObj
def stop(self):
self.kill_received = True
def sample(self):
print "Hello"
def run(self):
time.sleep(0.1)
print "\n Starting " + self.name
self.sample()
Parece muy simple no es así. Pero cuando lo ejecuto me sale este error.
AttributeError: 'myThread' object has no attribute 'sample'
Ahora tengo ese método, ahí mismo. ¿Así que qué hay de malo? Por favor ayuda
Edit: Este es el stacktrace
Starting Thread-0
Starting Thread-1
Exception in thread Thread-0:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 525, in __bootstrap_inner
self.run()
File "./redisQueueProcessor.py", line 51, in run
self.sample()
AttributeError: 'myThread' object has no attribute 'sample'
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 525, in __bootstrap_inner
self.run()
File "./redisQueueProcessor.py", line 51, in run
self.sample()
AttributeError: 'myThread' object has no attribute 'sample'
Lo estoy llamando asi
arThreads = []
maxThreads = 2;
for i in range( maxThreads ):
redisOpsObj = redisOps()
arThreads.append( myThread(i, "Thread-"+str(i), 10, redisOpsObj) )
Lo siento, no puedo publicar código de clase redisOps. Pero puedo asegurarte que funciona bien