У меня есть скрипт, который делает вызовы API. Чтобы ускорить работу скрипта, я попытался реализовать многопоточность.
Приведенный ниже скрипт работает, когда я нахожусь в состоянии IDLE, однако, когда я пытаюсь запустить его с помощью sys argv из командной строки, я получаю два типа ошибок, перечисленных ниже.
Ошибка 1
Fatal Python error: PyImport_GetModuleDict: no module dictionary!
This application has requests the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.
Ошибка 2
Exception in thread Thread-1 (most likely raised during iterpreter shutdown):
Exception in thread Thread-2 (most likely raised during iterpreter shutdown):
Exception in thread Thread-3 (most likely raised during iterpreter shutdown):
Exception in thread Thread-5 (most likely raised during iterpreter shutdown):
Я не могу найти ничего об этих ошибках. Итак, любая помощь приветствуется. Ниже приведена часть скрипта, которая имеет дело с потоками.
import threading
import diffbot
urls = [[example.com],[example2.com]]
data = []
def getData(url):
x = diffbot.classify(url)
data.append(x)
def doWork(urls):
for element in urls:
for url in element:
t = threading.Thread(target=getData, args=(url,))
t.daemon = True
t.start()
doWork(urls)