Система, в которой вы можете ожидать тайм-аут из-за длительной работы, вы используете aysnc AMQP (расширенный протокол очереди сообщений). Обе службы / приложения должны работать полностью независимо. Ваша служба 1 отбрасывает сообщение в очередь, а служба 2 забирает сообщение для обработки. После этого он уведомляет службу 1.
Вы должны помнить, что REST / HTTP является синхронным по своей природе, и вам нужно знать последствия. Это означает, что когда ваша служба 1 запрашивает другую службу через HTTP для выполнения чего-либо и ожидает ее завершения, вы фактически блокируете поток. Хотя ваш клиент может реализовывать асинхронный http-вызов, но вы все еще ждете, пока запрос завершится синхронно, и такую систему очень трудно масштабировать.
Еще одно предложение - по возможности использовать сервер. например Функции AWS lambda / Azure обычно очень хороши. По сути, вы уведомляете функцию без сервера для выполнения какой-либо операции, и вы можете уведомлять о них после их завершения. Но у них есть ограничения бега только на пару минут. На самом деле зависит, есть ли у вас операция, которая может поместиться на сервере без изображения.