首页 > 解决方案 > 为什么 Python Requests 库会被一些上传请求锁定?

问题描述

不,它不会超时(让我们继续前进并解决这个问题)。

我有一个多线程 Python 脚本,用于通过 Microsoft Graph API (v1.0) 将文件上传到 OneDrive,并且每隔一段时间就有一个请求无法正确返回。我有一个包含 707 个文件的测试文件夹,通常有 2-3 个文件“迷失在以太中”。

以下是我当前的代码。try/except 块没有捕获任何异常(因此是 BaseException)。该请求未返回响应/错误代码。

重要信息:未返回响应的文件正在上传。但是,如果没有任何响应,我将无法继续执行线程来执行其他任务。

        try:
            response = s.put(
                f'{graph_config["endpoint"]}/sites/{self.sp_site_id}/drive/items/root:/{self.sp_teams_channel}/{folder_path}/{sanitized_filename}:/content', 
                headers={
                    'Authorization': 'Bearer ' + graph_client['access_token'], 
                    'Content-type': 'application/binary'
                },
                data=open(local_file, 'rb').read(),
                timeout=20
            )
        except BaseException as e:
            logging.error(f'BaseException: {str(e)}')

我努力了:

我在用:

标签: pythonmultithreadingpython-requestsmicrosoft-graph-api

解决方案


推荐阅读