|
Как закрыть Cоединение c HTTP-сервисом? | ☑ | ||
---|---|---|---|---|
0
e053nk
12.08.19
✎
16:29
|
Здравствуйте.
Возник вопрос по работе с HTTP-сервисом. Исходные данные: Конфигурация Розница 1. Работает на платформе 8.3 в режиме совместимости 8.1.Базы файловые,возможно одна из ЦБ будет на Скуле. Потребовалось создать сервис по выгрузки остатков товаров в такую же базу в оперативном режиме (примерно раз в 5 минут). Сам HTTP-сервис я создал, прописал в нем 2 процедуры (одна на выдачу остатков, другая на загрузку данных по остаткам-так как базы идентичные, запросы возможно будут идти с обоих сторон). Базы скопировал, одну опубликовал на Апаче,Fiddler проблемы всякие по формированию тела запроса отработал. Тестовые данные уходят нормально. Начал реализовывать обмен в 1с.... Во первых, рег. задания по обмену я нормально так и не смог запустить- под текущим пользователем база каждые 5 минут вешается намертво- работать несколько сек вообще невозможно. В интернете перековырял информацию, нашел только использования ключа/AllowExecuteScheduledJobs-Force -но он заработал только когда снимаешь режим совместимости с 8.1. Это не совсем хорошо, т.к. не понятно как эта древняя конфигурация отреагирует на снятие режима совместимости в "боевой" работе. В копии пока вроде работает-но всех подводных камней не увидишь. Во вторых. в базе ,куда опубликованной на Апаче происходит не выход пользователя с "Cоединение c HTTP-сервисом" .Т.е. я вижу что пользователь под учеткой Автообмен висит в базе, каждые 5 минут обновляет время начала работы, но при этом пользователь из базы не выходит .Так как база файловая и работает на не очень быстрых компах -хотелось бы меньше нагрузки на создавать. Да и с завершением работы скорее всего буду проблемы. Вопросы: 1. Как можно реализовать в режиме совместимости с 8.1. работу рег. задания в фоновом режиме(т.е. не блокируя текущего пользователя и не запуская доп. сеанс 1с)?Какие варианты еще есть? 2. Как можно использовать рег.задания совместно с Web сервером на Апаче?В интернете находил упоминания об этом ,но конкретно что то ничего не нашел (или ну увидел этой информации)? Возможно этот вариант заработает лучше в режиме совместимости 3. Как завершить сеанс "Cоединение c HTTP-сервисом" сразу после отработки метода HTTP-сервиса? Т.е. загрузил остатки -вышел из базы... Спасибо |
|||
1
Garykom
гуру
12.08.19
✎
16:42
|
Перепиши свой опубликованный http-сервис чтобы не онлайн в базу писал, а получал файл и затем загружал из него отпустив клиента.
|
|||
2
e053nk
12.08.19
✎
17:00
|
а это как можно реализовать? Или где почитать про это.Что то я даже не соображу.У меня JSON из тела запроса в набор записи РС перебором записывается. Каким способом клиента можно отпустить?
|
|||
3
Garykom
гуру
12.08.19
✎
17:03
|
Дык ответил же, получил json, записал его в файл в темпе, клиента сервис отпускает.
Ну можно проверить json на корректность как то чтобы ответить. А грузить уже потом, лучше всего вызвав фоновое из файла. |
|||
4
e053nk
12.08.19
✎
17:10
|
аааа, я думал какая о команда есть на отпускание клиента.
Тогда вопрос -а что он у меня сейчас после завершения загрузки не отпускает клиента? Что ему мешает? |
|||
5
ПускинАС
12.08.19
✎
17:24
|
(4) мешает ему Ваше представление о том в какой момент отключается клиент от веб сервиса, возможно еще кое какие галочки в самом сервисе.
|
|||
6
e053nk
12.08.19
✎
22:02
|
Я поэтому и задаю вопрос,что хочу изменить ситуацию-только не понимаю как. У кого то конкретные советы-какие галки на сервисе нужно поставить-я выслушаю. Например, если у меня вызов сервиса должен быть каждые 5 минут -в настройках сервиса "Время жизни соединения" нужно поставить меньше 5 минут время ?
|
|||
7
Garykom
гуру
12.08.19
✎
22:09
|
Время жизни надо ставить такое чтобы хватало с небольшим запасом.
Если у тебя все время пока парсится файл, долго загружается в базу и только потом ответ даешь на сервере/сервисе на запрос клиента то это гм. Раздели процесс получения файла и его загрузки в базу, это разные процессы и можно параллельно делать с учетом очередности получения файлов. Онлайн нужен только тогда когда нужен онлайн а не периодически через 5 минут. Например записать один объект можно и в онлайне и сразу дать ответ 200 ОК. А если в json дохрена объектов то не надо так. |
|||
8
e053nk
12.08.19
✎
22:20
|
Сейчас поставил счетчик времени - во сколько приходит на сервис команда на исполнения, и во сколько заканчивает- по времени у меня занимает 15 сек.После этого я даю ответ "200".Как я понимаю в этот момент должено тключаться пользователь с "Cоединение c HTTP" Следующий сеанс -через 5 минут. Но пользователь с "Cоединение c HTTP"-сервисом"продолжает у меня продолжает висеть в базе. Как его еще выгнать можно?
|
|||
9
Garykom
гуру
12.08.19
✎
22:27
|
(8) Он тебе мешает?
|
|||
10
e053nk
12.08.19
✎
22:27
|
еще заметил -иногда (не регулярно как то, через 5-10-25 удачных попыток )возникает ошибка по причине:
"Ошибка работы с Интернет: Превышено время ожидания" и смотрю 3 раза подряд пытается сервис с интервалом 1сек запуститься и отваливается с ошибкой. Причину пока тоже не вижу... |
|||
11
e053nk
12.08.19
✎
22:30
|
(9) Он когда висит в базе-у меня даже 1с не стартует из Конфигуратора в режим Предприятия по F5. Это как то не нормально.И это локально на моем ноуте,какие эффекты будут на рабочем месте кассира-сейчас до конца не известно,хочу минимизировать возможные проблемы
|
|||
12
e053nk
12.08.19
✎
22:34
|
В журнале регистрации есть событие "Сеанс. Аутентификация" и "Сеанс. Начало"по пользователю "Автообмен" , но нет ни одного об окончании сеанса.Уходит по английски?
Хотя сейчас в списке пользователя начинает пропадать после какого то времени. не понятно в зависимости отчего это происходит |
|||
13
e053nk
12.08.19
✎
23:14
|
Сейчас рег задание отвалилось. Попробовал зайти в ту базу , где крутятся рег.задания под пользователем "Администратор"параллельно под "Кассиром". рег задание перестало выполняться. Ключ /AllowExecuteScheduledJobs-Force должен,как я понимаю, переключать выполнение рег. задание на нового пользователя -но этого не произошло. При выходе "кассира" из программы тоже не переключилось назад на Администратора.
Как то не понятно работает механизм рег. заданий на файловой базе.. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |