#python

Пользователь

от berilloda , в категории: Python , 2 года назад
2 ответа последнее сообщение 8 дней назад от kaleigh

Всем привет, я написал простой сервер на Flask, и он получает на вход аудиофайл, id и имя файла и должен запускать программу, которая транскрибирует аудиофайл в текст.

Но когда на сервер прилетает несколько запросов мой ПК виснет из-за большой нагрузки. Получается что сервер на каждый файл (из нового запроса), запускает мою программу по транскрибации.

Может кто знает, как настроить очередь на обработку файлов.


У меня на сервер может за один запрос прилетать сразу несколько файлов и тогда они корректно становятся в очередь, а если прилетает несколько запросов, то ПК сразу виснет.

Сервер установлен на windows 10.


Код сервера выглядит следующим образом:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
from flask import Flask, request, jsonify, send_file
import os
import subprocess
import time
import threading

app = Flask(__name__)

directory = os.path.dirname(os.path.abspath(__file__))
directory = directory.replace('\\', '/')

def delete_file(file_path):
    time.sleep(300)  # 5 минут ожидания
    os.remove(file_path)

@app.route('/api/process_audio', methods=['POST'])
def process_audio():
    try:
        start_time = time.time()

        # Получаем данные
        audio_file = request.files['audio']
        audio_id = request.form['audio_id']
        audio_name = request.form['audio_name']

        # Сохраняем аудио
        audio_path = os.path.join('program_audio/audio', f'{audio_name}.mp3')
        audio_file.save(audio_path)

        # Запуск обработки аудио
        subprocess.run('starter.bat', shell=True)

        # Ждем результата
        text_file_path = os.path.join('program_audio/final_text', f'{audio_name}_final.txt')
        timeout = time.time() + 60
        while not os.path.exists(text_file_path):
            if time.time() > timeout:
                return jsonify({'error': 'Timeout'}), 500
            time.sleep(1)

        # Формируем ответ
        end_time = time.time()
        elapsed_time = end_time - start_time

        response_data = {
            'audio_id': audio_id,
            'elapsed_time': elapsed_time
        }

        # Отправляем результат
        response = send_file(text_file_path, as_attachment=True)
        
        # Запускаем удаление файла через 5 минут
        delete_thread = threading.Thread(target=delete_file, args=(text_file_path,))
        delete_thread.start()

        return response, response_data

    except Exception as e:
        return jsonify({'error': str(e)}), 500

if __name__ == '__main__':
    app.run(debug=True, port=39588, host='0.0.0.0')
Н

Пользователь

от натали , в категории: Python , 2 года назад
1 ответ последнее сообщение 9 дней назад от marisa

Помогите разобрать код:

сама задача: нужно из переменной countries_temperature написать код, который рассчитает среднюю температуру за период в Цельсиях для каждой страны.

countries_temperature = [['Таиланд', [75.2, 77, 78.8, 73.4, 68, 75.2, 77]],

                         ['Германия', [57.2, 55.4, 59, 59, 53.6]],

                         ['Россия', [35.6, 37.4, 39.2, 41, 42.8, 39.2, 35.6]],

                         ['Польша', [50, 50, 53.6, 57.2, 55.4, 55.4]]

                        ]

for Country, Temperature in countries_temperature:

    Tsum = 0

    for T in Temperature:

        Tsum += (T - 32)*5/9

    print('%10s  %5.1f' % (Country, Tsum/len(Temperature)))

Что означает '%10s  %5.1f' % в конце ???

V

Пользователь

от Vladislav Avterov , в категории: Python , 2 года назад
1 ответ последнее сообщение 12 дней назад от chloe.keebler

Всем привет! Я - молодой python разработчик. Я люблю делать свои программы и набираться опытом, но я не очень креативный от слова совсем. Я не знаю какую идею придумать для проекта, чтобы потом сравнить свой опыт. Вообщем я очень прошу чтобы вы накидали идей. Вы можете писать проекты по типу телеграм ботов, небольших сайтов или вообще GUI приложений(среднего уровня). Очень хочу чтобы вы мне помогли!

Пользователь

от llaJlbl4 , в категории: Python , 6 месяцев назад
2 ответа последнее сообщение 6 месяцев назад от eudora

x = df3.values.tolist()

y = df4.values.tolist()

lst = []




y_grouped = {}

for row in y:

    key = row[3]

    if key not in y_grouped:

        y_grouped[key] = []

    y_grouped[key].append(row)


for idx, l in enumerate(x):

    if idx == 0:

        prev_count = 0

    else:

        prev_count = sum(1 for j in range(max(0, idx-3), idx) if x[j][3] == l[3])

   

    if l[3] in y_grouped:

        if len(y_grouped[l[3]]) > prev_count:

            lst.append(l + y_grouped[l[3]][prev_count])

        else:

            lst.append(l + y_grouped[l[3]][-1])  # Берем последнее доступное значение

    else:

        lst.append(l)

   

    print(idx)


lst

Пользователь

от sherwood_littel , в категории: C/C++ , 2 года назад
3 ответа последнее сообщение год назад от vladimir

Как с помощью python сделать модуль для c++?

Пользователь

от jaylen.trantow , в категории: JavaScript , 2 года назад
2 ответа последнее сообщение год назад от margaret

Как мне из python(django) вывести переменную в javascript?

Пользователь

от lilla.herman , в категории: JavaScript , 2 года назад
2 ответа последнее сообщение год назад от francis_schuster

Как данные из python файла записать в переменную javascript?

Пользователь

от kennedi_pfeffer , в категории: Python , 2 года назад
2 ответа последнее сообщение год назад от cooper.berge

Как обеспечить https на flask python?

Пользователь

от chloe.keebler , в категории: SQL , 2 года назад
2 ответа последнее сообщение год назад от catherine_wintheiser

Как скопировать таблицу из одной базы данных в другую в sqlite на python?

Пользователь

от fidel , в категории: SQL , 2 года назад
2 ответа последнее сообщение год назад от ludie

Как выполнить хранимую процедуру postgresql в python?

Пользователь

от lamar , в категории: Другие , 2 года назад
2 ответа последнее сообщение год назад от felix

Как настроить поддержку Python в Apache?

Пользователь

от hanna_jacobson , в категории: SQL , 2 года назад
2 ответа последнее сообщение год назад от nelle

Как защитить sql insert от sql injection в python?

Пользователь

от william_stoltenberg , в категории: SQL , 2 года назад
2 ответа последнее сообщение год назад от elian.swift

Как на python создать в postgresql 2 таблицы со связями между ними?

Пользователь

от jeremy_larkin , в категории: PHP , 2 года назад
2 ответа последнее сообщение год назад от shayna.buckridge

Как конвертировать python код в php?

Пользователь

от francisco.friesen , в категории: PHP , 2 года назад
2 ответа последнее сообщение год назад от felix

Как передать переменную из python в php?