回调函数永远不会在python中使用多处理来调用

时间:2017-03-05 13:02:09

标签: python python-3.x multiprocessing pool

我试图对处理过程进行多处理,但我很难理解为什么我的工作人员不应用函数get_data

methods = ["followers", "friends"]

for author in authors:
    pool = multiprocessing.Pool(2)
    is_present = session.execute("SELECT * FROM {0} WHERE node_id={1}".format("network", author.twitter_id))
    if not is_present:
        for method in methods:
            print(author.twitter_username)
            pool.apply_async(get_data, args=(method, author, session))
        pool.close()
        pool.join()
    else:
        print(author.twitter_username, "Already present in the database ")

函数get data只是一个print():

def get_data(tweepy_function, author, session):
    print(tweepy_function, authot.twitter_id, session)

当我运行我的程序时,我得到: 我的所有作者的列表显示两次,但不显示get_data

的印刷品

这些工人有什么问题?为什么他们不能正确调用get_data?

0 个答案:

没有答案