|
ОбработкаПрерыванияПользователя | ☑ | ||
---|---|---|---|---|
0
Kamich
17.10.18
✎
08:25
|
Добрый день.
В цикле выполняется процедура удаления движений по регистратору. Так же используется стандартная процедура 1С ОбработкаПрерыванияПользователя(). Обработка прерывания выполняется успешно. НО. При использовании "паузы" - ОбработкаПрерыванияПользователя - не срабатывает. Пока Выборка.Следующий() Цикл ОбработкаПрерыванияПользователя(); Если ИспользоватьПаузы Тогда глПауза(ИнтервалСекунд); КонецЕсли; КонецЦикла; Пробовал и вначале и вконец цикла выполнять "ОбработкаПрерыванияПользователя" - один фиг... не срабатывает. Как корректно выполнить обработку прерывания пользователем?) Платформа обычная 1С 8.1 |
|||
1
Cyberhawk
17.10.18
✎
08:26
|
Что за пауза?
|
|||
2
Kamich
17.10.18
✎
08:28
|
(1) используя "ping"
|
|||
3
Cyberhawk
17.10.18
✎
08:28
|
Но зачем?
|
|||
4
Kamich
17.10.18
✎
08:30
|
(3) паузы нужны не сильно нагружать сервак...
процедура выполняется боевой базе с активными пользователями. |
|||
5
Cyberhawk
17.10.18
✎
08:30
|
Какой сервак?
|
|||
6
Йохохо
17.10.18
✎
08:31
|
(4) "обычная 1С 8.1" это не боевая, это бойцовская
|
|||
7
Kamich
17.10.18
✎
08:35
|
сервак с sql сервером.
активных пользователей куча... работают 24 часа... |
|||
8
Kamich
17.10.18
✎
08:35
|
Есть варианты?
|
|||
9
unregistered
17.10.18
✎
08:36
|
Откажитесь от обработки прерывания. Это анахронизм.
Переделайте нормально на фоновое задание, которое будет обрабатывать данные порциями с желаемым расписанием (например, каждую минуту). |
|||
10
Cyberhawk
17.10.18
✎
08:36
|
Если серверу СУБД требуется пауза для удаления движений, то что-то там у вас не так
|
|||
11
unregistered
17.10.18
✎
08:39
|
https://its.1c.ru/db/metod8dev#content:2599:hdoc
Следует учитывать, что прерывание выполняется только в момент вызова процедуры ОбработкаПрерыванияПользователя(). Выполнение длительных операций вызываемых из модулей, например, запросов, не может быть прервано. |
|||
12
unregistered
17.10.18
✎
08:43
|
(10) > Если серверу СУБД требуется пауза..., то что-то там у вас не так
Ну почему же. При интенсивной работе 24/7 технологических окон для всякого рода чисток, дообработки данных и т.п. процедур становится катастрофически мало. К тому же бывают задачи, когда данные нужно дообработать или дозаполнить оперативно, а не позже ночью, когда нагрузка уменьшается. |
|||
13
Kamich
17.10.18
✎
08:56
|
(9) Это вариант отличный, но для текущей задачи необходим именно паузы.
Есть одна идея чуть позже отпишусь. |
|||
14
Cyberhawk
17.10.18
✎
09:13
|
(12) Так он не про какие-то окна пишет, а про нагрузку
|
|||
15
unregistered
17.10.18
✎
10:41
|
(14) А по-твоему, обработка, которая лопатит большие массивы данных, не создаёт нагрузку?
Скорее всего, под нагрузкой автор понимает не именно нагруженность железа, а тормоза на ожиданиях блокировок. |
|||
16
unregistered
17.10.18
✎
10:46
|
(13) > для текущей задачи необходим именно паузы
Зачем? В чем принципиальная разница между паузой, возникающей между обработками очередной порции данных, и паузой, создаваемой искусственно при помощи ереси типа ping? Причем в случае порционной обработки данных можно сделать так, чтобы пользователь мог настроить размер порции и частоту запуска (расписание) и менять их в ходе выполнения обработки. Короче так, как сделано в подсистеме обновления конфигурации БСП, где можно настроить приоритет выполнения обработчиков обновления - ускорить обработку данных или отдать приоритет работе пользователей. |
|||
17
Cyberhawk
17.10.18
✎
10:50
|
(15) Создает. Я и говорю, что там за сервер, если его надо паузами разгружать?
|
|||
18
Вафель
17.10.18
✎
10:52
|
(17) нужно смотреть не на сервер а на соотношение сервер/нагрузка
|
|||
19
bolobol
17.10.18
✎
10:53
|
(16) Собственно - вы и описали методы работы паузами, реализованные в БСП. Зачем задавать вопрос, если сами на него и отвечаете?
(17) Вы знаете сервер, который будет работать веерным способом с чёткими приоритетами, типа: "А, это пользователь проведение запустил, тааак... это всё мы потом, сначала - проведение от пользователя, а, блин, не - это ж обработка - тогда - нафиг, продолжаем удалять движения" |
|||
20
Cyberhawk
17.10.18
✎
10:55
|
(18) (19) Чем несколько интервалов пиковой нагрузки лучше, чем один сплошной той же длительности?
|
|||
21
unregistered
17.10.18
✎
10:59
|
(20) Зависит от продолжительности пика(ов).
Сотня коротких пиков позволяет в промежутке между ними работать другим пользователям. |
|||
22
unregistered
17.10.18
✎
11:01
|
(19) Вопрос в том и состоит - нафига автору паузы именно через *опу (ping), а не по типу БСП-шных обработчиков обновления?
|
|||
23
Cyberhawk
17.10.18
✎
11:02
|
(21) Тоже верно, но также это и скрывает наличие проблемы )
Например, как с регл. заданиями в какой-ниюбудь свежеразвернутой типовой - они регулярно могут вызывать фризы интерфейса ("часики" вместо курсора мышки). А вот вставало бы все колом сразу, так и реакция на такое была бы шустрая ) |
|||
24
Вафель
17.10.18
✎
11:05
|
(20) если ты не можешь выписать отгрузку за н минут - могут по башке дать
|
|||
25
unregistered
17.10.18
✎
11:13
|
(24) И правильно! APDEX - это для гиков и слабаков. Давно пора за медленную работу 1С пользователей пи*дить!
|
|||
26
Cyberhawk
17.10.18
✎
17:06
|
(24) Как "процедура удаления движений по регистратору" может мещать делать какую-то отгрузку?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |