Предположим, у меня есть 2 сервера.Лучший способ создания REST API для выполнения длительных задач?
Первый - это сервис, который предоставляет некоторые вычисления, которые могут длиться долго (от нескольких часов до нескольких часов).
Второй сервер будет использовать эту услугу для вычисления некоторых данных.
Я пытаюсь создать API REST для первого сервера и пока настолько хорош. Но я хотел бы услышать некоторое мнение о том, как моделировать уведомления, когда длительная задача будет завершена.
я рассмотрел 2 подхода до сих пор:
- опроса - второй сервер будет запрашивать каждый сейчас и потом о результатах.
- Callback - Второй сервер установит uri для первого вызова после его завершения. Но это немного пахнет в REST API.
Что вы думаете?
Неправильно ли было бы использовать обратный подход? У меня очень похожая проблема (за исключением того, что моя служба может взять что-нибудь от 2 до 500 секунд, чтобы ответить), а использование обратного вызова кажется намного проще, чем опрос – Johan
. Краткое объяснение и ссылка на объяснение протокола публикации Atom значительно улучшат этот ответ , – Geerten