Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

ОбработкаПрерыванияПользователя

ОбработкаПрерыванияПользователя
Я
   Kamich
 
17.10.18 - 08:25
Добрый день.
В цикле выполняется процедура удаления движений по регистратору.
Так же используется стандартная процедура 1С ОбработкаПрерыванияПользователя().

Обработка прерывания выполняется успешно.

НО.

При использовании "паузы" - ОбработкаПрерыванияПользователя - не срабатывает.
Пока Выборка.Следующий() Цикл
            
     ОбработкаПрерыванияПользователя();
     
     Если ИспользоватьПаузы Тогда
          глПауза(ИнтервалСекунд);
     КонецЕсли;

КонецЦикла;

Пробовал и вначале и вконец цикла выполнять "ОбработкаПрерыванияПользователя" - один фиг... не срабатывает.

Как корректно выполнить обработку прерывания пользователем?)
Платформа обычная 1С 8.1
 
 
   Cyberhawk
 
1 - 17.10.18 - 08:26
Что за пауза?
   Kamich
 
2 - 17.10.18 - 08:28
(1) используя "ping"
   Cyberhawk
 
3 - 17.10.18 - 08:28
Но зачем?
   Kamich
 
4 - 17.10.18 - 08:30
(3) паузы нужны не сильно нагружать сервак...
процедура выполняется боевой базе с активными пользователями.
   Cyberhawk
 
5 - 17.10.18 - 08:30
Какой сервак?
   Йохохо
 
6 - 17.10.18 - 08:31
(4) "обычная 1С 8.1" это не боевая, это бойцовская
   Kamich
 
7 - 17.10.18 - 08:35
сервак с sql сервером.

активных пользователей куча...
работают 24 часа...
   Kamich
 
8 - 17.10.18 - 08:35
Есть варианты?
   unregistered
 
9 - 17.10.18 - 08:36
Откажитесь от обработки прерывания. Это анахронизм.
Переделайте нормально на фоновое задание, которое будет обрабатывать данные порциями с желаемым расписанием (например, каждую минуту).
   Cyberhawk
 
10 - 17.10.18 - 08:36
Если серверу СУБД требуется пауза для удаления движений, то что-то там у вас не так
 
 Рекламное место пустует
   unregistered
 
11 - 17.10.18 - 08:39
https://its.1c.ru/db/metod8dev#content:2599:hdoc
Следует учитывать, что прерывание выполняется только в момент вызова процедуры ОбработкаПрерыванияПользователя(). Выполнение длительных операций вызываемых из модулей, например, запросов, не может быть прервано.
   unregistered
 
12 - 17.10.18 - 08:43
(10) > Если серверу СУБД требуется пауза..., то что-то там у вас не так

Ну почему же. При интенсивной работе 24/7 технологических окон для всякого рода чисток, дообработки данных и т.п. процедур становится катастрофически мало.
К тому же бывают задачи, когда данные нужно дообработать или дозаполнить оперативно, а не позже ночью, когда нагрузка уменьшается.
   Kamich
 
13 - 17.10.18 - 08:56
(9) Это вариант отличный, но для текущей задачи необходим именно паузы.

Есть одна идея чуть позже отпишусь.
   Cyberhawk
 
14 - 17.10.18 - 09:13
(12) Так он не про какие-то окна пишет, а про нагрузку
   unregistered
 
15 - 17.10.18 - 10:41
(14) А по-твоему, обработка, которая лопатит большие массивы данных, не создаёт нагрузку?
Скорее всего, под нагрузкой автор понимает не именно нагруженность железа, а тормоза на ожиданиях блокировок.
   unregistered
 
16 - 17.10.18 - 10:46
(13) > для текущей задачи необходим именно паузы

Зачем?
В чем принципиальная разница между паузой, возникающей между обработками очередной порции данных, и паузой, создаваемой искусственно при помощи ереси типа ping?
Причем в случае порционной обработки данных можно сделать так, чтобы пользователь мог настроить размер порции и частоту запуска (расписание) и менять их в ходе выполнения обработки.
Короче так, как сделано в подсистеме обновления конфигурации БСП, где можно настроить приоритет выполнения обработчиков обновления - ускорить обработку данных или отдать приоритет работе пользователей.
   Cyberhawk
 
17 - 17.10.18 - 10:50
(15) Создает. Я и говорю, что там за сервер, если его надо паузами разгружать?
   Вафель
 
18 - 17.10.18 - 10:52
(17) нужно смотреть не на сервер а на соотношение сервер/нагрузка
   bolobol
 
19 - 17.10.18 - 10:53
(16) Собственно - вы и описали методы работы паузами, реализованные в БСП. Зачем задавать вопрос, если сами на него и отвечаете?

(17) Вы знаете сервер, который будет работать веерным способом с чёткими приоритетами, типа: "А, это пользователь проведение запустил, тааак... это всё мы потом, сначала - проведение от пользователя, а, блин, не - это ж обработка - тогда - нафиг, продолжаем удалять движения"
   Cyberhawk
 
20 - 17.10.18 - 10:55
(18) (19) Чем несколько интервалов пиковой нагрузки лучше, чем один сплошной той же длительности?
   unregistered
 
21 - 17.10.18 - 10:59
(20) Зависит от продолжительности пика(ов).
Сотня коротких пиков позволяет в промежутке между ними работать другим пользователям.
   unregistered
 
22 - 17.10.18 - 11:01
(19) Вопрос в том и состоит - нафига автору паузы именно через *опу (ping), а не по типу БСП-шных обработчиков обновления?
   Cyberhawk
 
23 - 17.10.18 - 11:02
(21) Тоже верно, но также это и скрывает наличие проблемы )
Например, как с регл. заданиями в какой-ниюбудь свежеразвернутой типовой - они регулярно могут вызывать фризы интерфейса ("часики" вместо курсора мышки). А вот вставало бы все колом сразу, так и реакция на такое была бы шустрая )
   Вафель
 
24 - 17.10.18 - 11:05
(20) если ты не можешь выписать отгрузку за н минут - могут по башке дать
   unregistered
 
25 - 17.10.18 - 11:13
(24) И правильно! APDEX - это для гиков и слабаков. Давно пора за медленную работу 1С пользователей пи*дить!
   Cyberhawk
 
26 - 17.10.18 - 17:06
(24) Как "процедура удаления движений по регистратору" может мещать делать какую-то отгрузку?


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует