#0
by Nesh
У нас есть такая задача: Есть веб сервис, который по запросу отдает данные. Нам в 1с надо эти данные мониторить реалтайм (полсекунды, секунда). Какие есть соображения на эту тему сделать исключительно средствами 1с?
#2
by Юрий Лазаренко
Взлетит, если объем данных небольшой и их обработка на стороне 1С не будет занимать много времени.
#3
by Юрий Лазаренко
+ Но лучше таки на стороне веб-сервиса отслеживать момент, когда пора отправлять данные в 1С, и дергать уже 1Ску.
#4
by Fragster
на файловой решается запуском сеанса с обработкой, в клиент-сервере - двумя регламентными - одно запускается и работает в цикле дергая сервис, другое просыпается раз в некоторое время и смотрит, например, константу с датой последнего запроса (которую устанавливает первое регламентное). если прошло много времени - прибивает первое фоновое (если оно еще живо) и запускает его еще раз
#8
by Nesh
вы предлагаете делать регламентное с периодичностью в секунду? ведь 1с рекомендует не меньше минуты.
#10
by Fragster
нет. регламентный вочдог и фоновое, которое работает в цикле с паузой, например запуская ping
#11
by Serginio1
Либо сделать на стороне 1С свой вэб сервис и чтобы получать данные из данного вэб сервиса
#20
by Юрий Лазаренко
Вообще такой частый опрос веб-сервиса говорит о том, что некоторую задачу хотят решить неверным способом. Автор, можешь подробнее написать, чего именно вы хотите достичь? Наверняка найдутся более оптимальные пути решения.
#21
by Jija Grenkov
Вариантов у вас не много, к сожаению в 1с нет паузы. Можно использовать ВК(наверняка есть реализации) или пинг, но пингом не все гладко если код может выполняться на разных машинах в разных сетях. А так заупустили вечный цикл с паузой в пол секунды и опрашивайте ваш сервис. А что они могут хотеть достичь, кроме как поолучать события в реал тайме? Может хотят за постами в фейсбуке следить или слушать некую очередь сообщений.
#23
by Сниф
Если веб-сервис сторонний, то интервал долбления к нему определяется самим веб-сервисом, например, раз в 30 секунд. Если вы будете долбиться чаще, то вас забанят на веб-сервисе.
#24
by Jija Grenkov
Реализовывали этот милилон способов? Когда я сталкивался с этим вопросом, то delay и sleep вообще не дали результата. Оказалось, что преупреждение может зависать, а пинг ведет себя не стабильно и не гарантирует определенныу задержку на разных машинах. А еще 1с может крутится на линуксе.
#25
by Сниф
Написал систему, которая позволяет из 1C отдавать данные по http-запросу за 30 миллисекунд (0.03 секунды). Смешно выглядят такие старые телеги, как веб-сервисы. Вот думаю, кому оптом продать технологию.
#26
by Сниф
+ Утверждаю, что мною создана технология, которая позволяет отдавать данные из 1С (например, файл JSON размером в 1 килобайт) за время 50 миллисекунд. Так же утверждаю, что я потратил на это много времени и сил и мне даже сейчас нечего жрать ) Кому интересно - пишите в личку. Дорого, но офигенно.
#27
by Jija Grenkov
33 запроса в секунду выходит и - это наверняка если отдавать небольшой объект из памяти. К примеру для джавы -- это очень посредственный результат
#29
by Юрий Лазаренко
Один раз в секунду - это не в реалтайме, это один раз в секунду. В реалтайме - это один вызов в тот момент, когда он нужен.
#30
by Jija Grenkov
Я вот слабо себе представляю реал тайм в вашем описании. Как можно получить сообщение без периодического опроса, если источник пассивен. А исходя из вашей логики даже цикл с опросом без задержки не будет реал тайм. Я не специалист в низкоуровневых тихнологиях, но что-томне подсказывает, что цикл будет всегда в случае с веб сервисами, просто он может быть спрятан глубже или его нужно делать вручную.
#31
by Юрий Лазаренко
А мы пока еще не знаем, пассивен источник, или нет. Поэтому и хочется получить от ТС дополнительную информацию.
#33
by Юрий Лазаренко
Ну или не постоянные запросы от 1С к сервису, а от сервиса к 1С тогда когда надо.
#41
by Jija Grenkov
И там внутри нет цикла? Есть спектр задач, где за милисекунды борятся но это не про 1с. А вот мониторинг досок объявлений, откликов, наличия билетов(мониторить возвраты), всеческие электронные очереди. Вполне практические задачи где секунды могут играть роль.
#42
by Сниф
+ Можно административным путем заставить сотрудника тупо смотреть на зависший экран, но со сторонними клиентами такое не прокатит. Они просто закроют приложение и никогда больше не откроют.
#43
by NSSerg
можно попродробней, каким образом под винду может не работать WScript.Sleep, на который дана ссылка? И да, конечно реализовывал, и конечно он отлично работает.
#44
by Jija Grenkov
уже точно не помню, но толи ошибку на серверно винде выдавало и не слипало, толи регламентное задание повисало. Оно должно было целый день крутиться и стопать цикл на 5-10 секунд.
#45
by Serginio1
Есть еще один вариант. Отдельное приложение неважно на чем можно ввиде сервиса, опрашивает вэб сервис и если есть изменения посылает вэб сервису 1С сообщение
#46
by Jija Grenkov
я поддерживаю микросервисную архитектуру, но в этом случае туда нужно выносить часть бизнес логки, что бы сервис был законченым куском с точки зерния бизнеса и в таком случае не на 1с прийдется писать много. Я бы использовал: a. Native API ВК, что бы не нужно было ничего регистрировать. В ВК вынести логику ожидания и опроса, после сего сразу передача результата в 1с. b. Либо spin wait (цикл без паузы). Если обращение к сервису займет 0.1-0.2 сек. и будет выполняться раз в пол секунды, то ресурсы проца будут расходоваться приемлемо.
#47
by Serginio1
Мы ничего не знаем, о том что у ТК. Ему дают варианты, а он сам пусть решает, что и как. В любом случае запрос по событию, значительно лучше чем постоянный опрос. Особенно если он не единственный клиент у этого сервиса.
#48
by Jija Grenkov
Можно попросить разработчиков сервиса, что бы вэб сервис отвечал с задержкой в 1 секунду и вопрос решен )))
#49
by Юрий Лазаренко
Напомнило анекдот: - А ваша собака за один раз килограмм мяса съесть сможет? - Съесть-то она съест, да кто ж ей даст. Ну то есть, попросить-то можно...
#50
by Jija Grenkov
прошу мой вопринимать не больше чем шутку. Естественно если просить, то можно вопросить о чем-то более правильном.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной
- Ошибка получения неинициализированного параметра сеанса
- КД 2.0 Возможно ли управлять флагом "Не замещать существующие объекты..." в ПКО.
- Закрытие 26 счета на 20 по налоговому учету (1с ERP) (не директкостинг)
- УПП 1.3 Формирование книги покупок, попадают доки из предыдущего периода.
- ФР: округление суммы НДС в чеке
- 1с 8.3 Веб-клиент, Такси ошибка доступа к файлу
- Печать пакета документов
- 1С:УПП "Общий" материал при позаказном производстве
- Получение текущих данных из весов CAS CL5000J...
- параметры отчета при использование Универсального отчета
- 1С Бухгалтерия 3.0 оптимизация проведения документов
- Запрос пин-кодов для активации программной лицензии: не известен рег. номер
- 1С: Комплексная 1.0 - как отразить сводную счет-фактуру от посредника
- УТ 11.2.Создание Установки цен номенклатуры из справочника номенклатуры.
- Программное создание ордера в ЕРП 2.1
- Загрузка документов с движениями через Универсальный обмен данными XML
- Вывод верхнего уровня иерархического справочника в динамическом списке
- Изменение типа реквизитов таблицы значений.
- ЗУП 3 Доплата за вредность