2010-03-22 3 views
3

У нас есть преобладающая архитектура RESTful для нашего продукта. Это позволяет нам практически реализовать практически все необходимые функции, за исключением этого нового требования, которое входит в состав.Лучший способ реализации пакетной операции в архитектуре RESTful?

Мне нужно реализовать страницу, которая позволяет пользователю выполнять операции крупномасштабного БД синхронно. Они могут остановить операцию между ними, если они поняли, что совершили ошибку (вместо того, чтобы ждать ее завершения и выполнения операции отмены)

Мне было интересно, может ли кто-нибудь дать какие-то указания относительно того, что было бы лучше способ реализовать такую ​​функциональность?

Cheers! Nirav

ответ

1

Как насчет ресурса, который инкапсулирует набор пакетных операций? Создание ресурса означает начало операций (данные для указания того, что должны делать операции, отправляются через POST). Обновление ресурса позволяет остановить его или изменить его во время обработки.

0

Я бы начал большую операцию в отдельной теме. Покажите пользователю постоянно обновляемый статус потока, а также кнопку «Отмена». Если пользователь нажимает кнопку «Отмена», вы убиваете поток.

Так я реализовал подобные вещи в прошлом.

Идея состоит в том, чтобы немедленно вернуть их обратно, но не позволяйте им делать что-либо еще до тех пор, пока поток не будет выполнен, кроме отмены.

В общих терминах вам нужна «очередь заданий» и способ управления очередью.