Объединение нескольких вызовов APIPython

Программы на Python
Ответить
Anonymous
 Объединение нескольких вызовов API

Сообщение Anonymous »

В моем коде есть список CU (идентификаторов), которые я использую в URL-адресе для вызова API:

Код: Выделить всё

for chunk in cu_chunks:
cu_string = ','.join(chunk)
url = f'{base_url}?CU={cu_string}'
response = requests.get(url)
print(f'Status code for request with {len(chunk)} CUs: {response.status_code}')
Это называется:

Код: Выделить всё

@app.route('/CU', methods=['GET'])
def CU():
cu_string = request.args.get('CU', type=str)

cu_list = cu_string.split(',')
jm.create_job_CU(cu_list)
ret = jsonify([job.result for job in jm.completed_jobs])
jm.completed_jobs = []
return ret
И затем в задании создания у меня есть все необходимое.
Если у меня слишком много CU, URL-адрес слишком длинный, и это приводит к возникает ошибка, поэтому принимается решение разделить CU на части и выполнить несколько вызовов API, как в приведенном выше коде.
API вызывает некоторые функции, которые делают некоторые прогнозы с использованием некоторых алгоритмов машинного обучения. а затем отправляет результаты в базу данных.
Проблема в том, что из-за вызовов код работает довольно медленно, поэтому мне нужно решение, позволяющее сохранить несколько вызовов, но вместо того, чтобы делать все, я бы хотел создать задание только сохранить все CU из вызова, а затем, когда они закончатся, запустить все функции только один раз со всеми CU.
Можно ли сделать что-то подобное ?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -api-calls
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»