Я тестирую свое приложение Python Flask с помощью Locust для нагрузочного тестирования запроса POST с вложенным файлом .xlsx. Однако я постоянно сталкиваюсь с ошибкой 503 Service Unavailable.
Эта проблема возникает ТОЛЬКО при использовании Locust. Когда я вручную тестирую тот же API, он работает нормально.
Файл Locust
@task
def upload_statics_file(self):
file_path = "some_file_path.xlsx"
try:
with open(file_path, "rb") as file_to_upload:
files = {'file': file_to_upload}
print("Starting file upload test...")
with self.client.post("/api/statics_file_upload", files=files, catch_response=True) as response:
print(f"Request made to: /api/statics_file_upload")
print(f"Response Status Code: {response.status_code}") # Log status code
print(f"Response Headers: {response.headers}") # Log headers
try:
response_data = response.json() # Parse JSON
print(f"Response JSON: {response_data}")
except Exception as e:
print(f"Failed to parse response as JSON. Response Text: {response.text}")
if response.status_code == 200:
response.success()
print("File uploaded successfully!")
else:
response_text = response.text or "No response body received (empty response)"
print(f"Failed to upload file: {response_text}")
response.failure(
f"Failed to upload file. Status code: {response.status_code}, Response: {response_text}"
)
except FileNotFoundError:
print(f"File not found at: {file_path}")
Проблема
Каждый раз, когда я запускаю тест на Locust, я получаю следующее:
Starting file upload test...
Request made to: /api/statics_file_upload
Response Status Code: 503
Response Headers: {'Content-Length': '0', 'Date': 'Sun, 16 Nov 2025 12:23:31 GMT', 'Connection': 'close'}
Failed to parse response as JSON. Response Text:
Failed to upload file: No response body received (empty response)
Пробовал следующие исправления.
ChatGPT предположил, что проблема связана с моим URL-адресом, но это неправда.
Двойная косая черта и неверный URL-адрес — это не проблема.
Также пробовал удалить декоратор @requiresauth, но тоже не помогло.
URL хоста (URL рабочей станции Google):
https://3000-abcdef-xyz-abc.cluster-xyz ... ations.dev
Код конечной точки:
@upload_routes.route("/api/statics_file_upload", methods=["POST"], endpoint="upload_statics_file")
@requires_auth
def upload_statics_file():
file = request.files.get("file")
#further logic ...
Подробнее здесь: https://stackoverflow.com/questions/798 ... -503-error
POST-запрос Locust с файлом .xlsx к конечной точке Flask возвращает ошибку 503 ⇐ Python
Программы на Python
1763296891
Anonymous
Я тестирую свое приложение [b]Python Flask[/b] с помощью [b]Locust[/b] для нагрузочного тестирования запроса POST с вложенным файлом .xlsx. Однако я постоянно сталкиваюсь с ошибкой 503 Service Unavailable.
Эта проблема возникает ТОЛЬКО при использовании Locust. Когда я вручную тестирую тот же API, он работает нормально.
[b]Файл Locust[/b]
@task
def upload_statics_file(self):
file_path = "some_file_path.xlsx"
try:
with open(file_path, "rb") as file_to_upload:
files = {'file': file_to_upload}
print("Starting file upload test...")
with self.client.post("/api/statics_file_upload", files=files, catch_response=True) as response:
print(f"Request made to: /api/statics_file_upload")
print(f"Response Status Code: {response.status_code}") # Log status code
print(f"Response Headers: {response.headers}") # Log headers
try:
response_data = response.json() # Parse JSON
print(f"Response JSON: {response_data}")
except Exception as e:
print(f"Failed to parse response as JSON. Response Text: {response.text}")
if response.status_code == 200:
response.success()
print("File uploaded successfully!")
else:
response_text = response.text or "No response body received (empty response)"
print(f"Failed to upload file: {response_text}")
response.failure(
f"Failed to upload file. Status code: {response.status_code}, Response: {response_text}"
)
except FileNotFoundError:
print(f"File not found at: {file_path}")
[b]Проблема[/b]
Каждый раз, когда я запускаю тест на Locust, я получаю следующее:
Starting file upload test...
Request made to: /api/statics_file_upload
Response Status Code: 503
Response Headers: {'Content-Length': '0', 'Date': 'Sun, 16 Nov 2025 12:23:31 GMT', 'Connection': 'close'}
Failed to parse response as JSON. Response Text:
Failed to upload file: No response body received (empty response)
[b]Пробовал следующие исправления.[/b]
ChatGPT предположил, что проблема связана с моим URL-адресом, но это неправда.
Двойная косая черта и неверный URL-адрес — это не проблема.
Также пробовал удалить декоратор @requiresauth, но тоже не помогло.
URL хоста (URL рабочей станции Google):
https://3000-abcdef-xyz-abc.cluster-xyz.cloudworkstations.dev
Код конечной точки:
@upload_routes.route("/api/statics_file_upload", methods=["POST"], endpoint="upload_statics_file")
@requires_auth
def upload_statics_file():
file = request.files.get("file")
#further logic ...
Подробнее здесь: [url]https://stackoverflow.com/questions/79821469/locust-post-request-with-xlsx-file-to-flask-endpoint-returns-a-503-error[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия