Передача функции в качестве аргумента удаляет правильную ссылку на себя? - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть этот бит кода, использующий concurrent.futures в Python 3.6:

with concurrent.futures.ProcessPoolExecutor(max_workers=MAX_WORKERS_ALLOWED) as executor:
        for file in executor.map(self.upload_chunked_part, chunk_list):
            total = total + file
            elapsed_time = round(time.time() - start_time, 2)
            current_speed = round(total / (elapsed_time * 1024 * 1024), 2)
            progress_bar("Uploading %s at %sMB/s" %
                         (media.name, current_speed), total, size)

// Each loop returns "Login required to API"

self.upload_chunked_part относится к методу, присоединенному к классу, в котором находится этот бит кода. Когда вызывается методна futures экземпляр self, который появляется в вызываемом коде, не совпадает с тем, который появляется, если я просто вызываю метод в обычном режиме:

self.upload_chunked_part(chunk) // Returns "Successful"

Я надеюсь, что яобъяснил эту проблему достаточно хорошо.Любые идеи о том, как сделать эту работу?

...