【发布时间】:2014-10-11 18:55:59
【问题描述】:
我正在创建一个将音频文件发布到 API 的 python 脚本。它大部分都在工作;但是,该应用程序位于 Heroku 上,并且大文件似乎被 heroku 的内存限制所占用。我尝试使用 multipart/form-data,但这似乎还不够。我在大约 5 分钟内收到 503 错误。
import requests
import os
import glob
from requests_toolbelt import MultipartEncoder
token = 'XXXX'
headers = {'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json'}
base_url = 'https://test.com/api/'
for file in glob.glob("*.mp3"):
files = MultipartEncoder(fields={'file': (file, open(file, "rb"), 'audio/mpeg')})
audio_headers = {'Authorization': 'Bearer ' + token, 'Content-Type': files.content_type}
add_file = requests.post(base_url, headers=audio_headers, data=files)
【问题讨论】:
-
我认为 503 实际上是 Heroku 在一段时间内没有响应时为您的应用程序返回的内容。我不确定这是文件大小限制。我不知道如何解决这个问题,也许你应该联系 Heroku 支持,看看他们是否有任何处理这个问题的策略。
-
谢谢 :) 你今天帮了大忙。
-
看来问题可能出在我的互联网连接上,因为我今天早上在办公室再次尝试运行它并且没有任何问题。
-
这真的很奇怪。如果你能复制它,给我发电子邮件。
标签: python rest heroku python-requests