Имя: Пароль:
1C
 
Веб-сервисы. Обработать запрос пользователя и продолжить работу немедленно.
0 Zixxx
 
07.07.16
07:30
Как происходит работа:

1. Пользователь отправляет на север небольшой массив данных
2. Серверу нужно примерно 3-5 секунд чтобы его обработать

Как нужно сделать

1. Пользователь отправляет на сервер небольшой массив данных
2. Серверу нужно вернуть ответ что данные получены и закрыть соединение
3. Сервер должен сразу после ответа продолжить работы над полученным массивом данных

Как можно сделать. Регламентные задания не подходят, запускать их с интервалом в 5 сек - это большой промежуток и накладно их дергать каждые 5 секунд.

Еще думал задавать расписание для регламентного задания, +1 - 2 секунды до его записи, но если сервер начнет лагать то задание не выполниться.

Какие есть еще варианты?
1 Xapac
 
07.07.16
07:51
(0) А как ты планируешь узнать "Закончил ли работу сервер"?
2 ИсчадиеADO
 
07.07.16
07:54
а если в методе веб сервиса фоновое задание запустить и закончить метод, фоновое задание же отработает вроде
3 Serginio1
 
07.07.16
08:03
4 DmitrO
 
07.07.16
08:08
(2)именно так и надо сделать, если клиенту веб-сервиса не нужны результаты обработки данных
5 mistеr
 
07.07.16
08:50
(0) Одно или несколько фоновых заданий, которые обрабатывают очередь.
6 mistеr
 
07.07.16
08:51
(5) + хорошо подумай, что будешь делать, если клиент дважды пришлет один и тот же запрос.
7 Остап Сулейманович
 
07.07.16
09:17
Собственно все уже сказано. ВЕБ-сервис собирает данные и складывает их например в РС. фоновое обрабатывает то, что наскладировал ВЕБ-сервис.
Правда есть один момент. Все понятно пока в РС остаются необработанные данные. А вот дергать РС когда там нет данных - не есть хорошо.
ИМХО Нужно в ВЕБ-сервисе каждый раз проверять выполняется ли фоновое и если нет - запускать его однократно.
8 mistеr
 
07.07.16
11:34
(7) Запуска по расписанию недостаточно?
9 xXeNoNx
 
07.07.16
11:59
(7) Я за стек(РС) + фоновое. Елозить по по пустому РС не хочется? А ты не будешь, он же пустой. Как вариант - планы обмена или инициализировать параметр сеанса какой-либо...
Лучше обработать сразу партию из 10, чем по 1ой - 10 раз.