2017-06-26 5 views
-1

で何度も呼び出されqueue.task_done()私はしばらくの間、これに引っかかっているんだ今エラー:Pythonの

class ThreadingPower(threading.Thread): 
def __init__(self, queue): 
    threading.Thread.__init__(self) 
    self.queue= queue 

def run(self): 
    while True: 
     Manager = self.queue.get() 
     for Numbers,HWID in Manager: 
      r = requests.post(URL, data=payload) # License Checker Required Numbers (Buyer Code) And HWID (License Code) 
      data = (r.text) 
      if ('Verified' in data): 
       with open(resultsFile,'a+') as results: 
        results.write("The Number : "+str(Numbers)+" Is Verified By The "+str(HWID)) 
       results.close() 
       print str(HWID)+" Is Server Verified" 
       active =+ 1 
       self.queue.task_done() 
      else: 
       print str(HWID)+" Is Not Server Verified" 
       self.queue.task_done() 


if __name__ == "__main__": 
    for i in range(10): 
     t = ThreadingPower(queue) 
     t.setDaemon(False) 
     t.start() 

    queue.put(credentials) 
    queue.join() 

資格情報は、このようなものです:

[ 
['UniqueHWID', 'BuyerCode'], 
['UniqueHWID', 'BuyerCode'], 
['UniqueHWID', 'BuyerCode'] 
] 

それが取得保管多くのコールエラー

答えて

0

質問:エラー:何回も

01ために呼び出さqueue.task_done()

.task_done()の呼び出しは、.queue.get()と同期する必要があります。
.task_done()for ...ループ内に何度も繰り返します。

にコードを変更し

while True: 
    Manager = self.queue.get() 
    for Numbers,HWID in Manager: 
     ... 
     if ('Verified' in data): 
      ... 
      active =+ 1 
     else: 
      print str(HWID)+" Is Not Server Verified" 

    self.queue.task_done() 
+0

はありがとうございました –