id_list
というデータがこの形式の関数[(u'SGP-3630', 1202), (u'MTSCR-534', 1244)]
に入っています。フォーマットは2つの値がペアになっているので、1ペアまたは100ペアが可能です。この関数でマルチスレッドを実装するもっとも簡単な方法[Python]
これは、関数である:
def ListParser(id_list):
list_length = len(id_list)
count = 0
table = ""
while count < list_length:
jira = id_list[count][0]
stash = id_list[count][1]
count = count + 1
table = table + RetrieveFromAPI(stash, jira)
table = TableFormatter(table)
table = TableColouriser(table)
return table
何この関数が行うことは、リストを経て、ペアを抽出し、URLから情報を取り出しRetrieveFromAPI()
という関数を介してそれらを置くています。
誰でも、ここでマルチスレッド化する方法を知っていますか?私は自分のリストに両方のリストを分割し、各リストを反復するためにプールを取得することができましたが、それはあまり効果がありません。
def ListParser(id_list):
pool = ThreadPool(4)
list_length = len(id_list)
count = 0
table = ""
jira_list = list()
stash_list = list()
while count < list_length:
jira_list = jira_list.extend(id_list[count][0])
print jira_list
stash_list = stash_list.extend(id_list[count][1])
print stash_list
count = count + 1
table = table + pool.map(RetrieveFromAPI, stash_list, jira_list)
table = TableFormatter(table)
table = TableColouriser(table)
return table
私はこの試みのために取得していますエラーがTypeError: 'int' object is not iterable
EDIT 2:わかりましたので、私は2つの異なるリストに分割タプルとの最初のリストを取得するために管理してきましたが、私はわかりませんよマルチスレッド化の仕組み
jira,stash= map(list,zip(*id_list))
あなたはそれが機能していないとはどういう意味ですか?何が起こった? –
@EamonnMcEvoyはメインポストにエラーを追加したばかりです –