OneS icon indicating copy to clipboard operation
OneS copied to clipboard

Метод Пауза()

Open SeiOkami opened this issue 4 years ago • 5 comments

В 1С нет встроенного метода Пауза(). С одной стороны, утверждают, что метод никому не нужен. С другой же... Про него постоянно спрашивают. Есть несколько несовершенных костыльных попыток решения. В том числе и в типовых конфигурациях.

SeiOkami avatar Apr 04 '21 15:04 SeiOkami

Кейсы где это необходимо:

  1. Интеграции с апи, имеющие предельную нагрузку в минуту/секунду. И таких немало.
  2. Когда надо часто получать данные из БД, а старт регламентного задания - очень тяжел. Останавливать исполнение. Живой пример. Надо в стороннюю шину выгружать только гарантированно проведенные документы, причем быстро. Подписка на событие и любая попытка сделать это в транзакции - удорожание транзакции и отсутствие гарантий, что после передачи управления среде 1с после транзакции ошибок не будет. Старт отдельного сеанса от 3 секунд, что часто за гранью требований. А повесить паузу после обработки порции, что бы получать гарантированно измененные объекты с малым временем отклика в специальном объекте метаданных - рабочая схема. И да это совсем не экзотические кейсы на больших системах с большой интеграционной нагрузкой. К мему огромному сожалению - разработчики в фирме 1с не имеют опыта написания сложных и нагруженных интеграций и не понимают всю важность и не такую уж и редкость данных кейсов.

palsergeich avatar Apr 05 '21 20:04 palsergeich

  1. Реальный пример: обработка long polling http запроса (длинный таймаут). Получили http запрос, начало цикла, запросили БД- данных нет, Пауза(), снова запросили БД и т.д. Ответ на http запрос возвращаем только в том случае, если запрос в БД вернул данные, либо пустой запрос если истекли 90 секунд .

kodmis avatar Apr 18 '21 07:04 kodmis

Отправлено боту 06.04.2021 в 12:36

SeiOkami avatar Nov 10 '21 10:11 SeiOkami

Ждём https://t.me/company1c/457 image

SeiOkami avatar Mar 17 '23 10:03 SeiOkami

https://wonderland.v8.1c.ru/blog/metod-vyzvatpauzu/

image

SeiOkami avatar Apr 24 '23 11:04 SeiOkami