30秒ごとにコードを実行するために使用するコードブロックがあります
def hello():
print "hello, world"
t = threading.Timer(30.0, hello)
t.start()
以下は、30秒ごとに実行したいクラスのメソッドですが、問題があります。
def continousUpdate(self, contractId):
print 'hello, world new'
t = threading.Timer(30.0, self.continousUpdate, [self, contractId],{} )
t.start()
実行すると、次のエラーが表示されます
pydev debugger: starting
hello, world new
Exception in thread Thread-4:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 552, in __bootstrap_inner
self.run()
File "C:\Python27\lib\threading.py", line 756, in run
self.function(*self.args, **self.kwargs)
TypeError: continousUpdate() takes exactly 2 arguments (3 given)
私も試してみました
def continousUpdate(self, contractId):
print 'hello, world new'
t = threading.Timer(30.0, self.continousUpdate(contractId))
t.start()
どういうわけかスレッドを無視するかのように動作し、再帰制限エラーが発生します