|
Сохранить менеджер временных таблиц между серверными вызовами. | ☑ | ||
---|---|---|---|---|
0
seperblunt2
01.03.23
✎
10:18
|
в качестве апа темы Сохранить менеджер временных таблиц между серверными вызовами.
может что-то поменялось в этом плане или камрады таки придумают маневр? |
|||
1
H A D G E H O G s
01.03.23
✎
11:51
|
Менеджер в Структуру, структуру во Временноехранилище
|
|||
2
Garykom
гуру
01.03.23
✎
12:41
|
(1) один хрен сериализация
|
|||
3
Garykom
гуру
01.03.23
✎
12:46
|
может извратиться с длительным фоновым и каким то образом передачей туда нового текста и параметров запроса?
|
|||
4
seperblunt2
07.03.23
✎
15:44
|
(3) вариант в принципе рабочий, получается запись параметров нового запроса и в фоновом по быстрому циклу чтение, потом результат запроса - в сообщения фонового. видимо без извращений не обойтись
|
|||
5
Fragster
гуру
07.03.23
✎
15:48
|
я как-то давно делал вечный цикл в нескольких фоновых с лонг-поллнигом приблуды на ноде. а управляющее фоновое (и не только) передавало в ноду нужные данные для обработки в очередь. таким макаром можно в этих фоновых и мвт хранить
|
|||
6
Fragster
гуру
07.03.23
✎
15:50
|
еще менеджер блокировок 1с юзал так же для блокировки объектов для внешних систем - одно фоновое в нем документобъект.заблокировать/разблокировать
|
|||
7
asady
07.03.23
✎
15:53
|
(0) временные таблицы - это объекты субд (temptable) - они создаются и удаляются по командам
Если ты знаешь имя временной таблицы - попытайся обратится к ней по имени как к обычной таблице sql |
|||
8
seperblunt2
07.03.23
✎
15:56
|
(7) там есть 2 типа временых в скл, которые доступны в рамках сессии или в рамках запроса (не помню точно как зовутся), дак вот тут как раз в рамках запроса. т.е. видишь эту таблицу в sql а обратиться к ней никак не дает..
|
|||
9
seperblunt2
07.03.23
✎
15:57
|
(5) а передавала данные - через запись в базу ли как? точнее даже - откуда получаело управляющее фоновое следующее задание? (у меня это интерактивно от действий пользователя случается)
|
|||
10
magicSan
07.03.23
✎
16:33
|
млять там ссылка на другую тему. Сразу понятно - бараны. Сохраняй данные какие надо в временное хранилище.Какая тебе разница где их хранить?
|
|||
11
Fragster
гуру
07.03.23
✎
16:35
|
(9) к серверу на nodejs делался запрос, он отправлял его в первый попавшийся висящий на лонгполле клиент.
|
|||
12
Fragster
гуру
07.03.23
✎
16:36
|
управляющее фоновое задание анализировало граф зависимостей последовательности документов по измерениям. это многопоточное восстановление было.
|
|||
13
magicSan
07.03.23
✎
17:05
|
(11) если ты путаешь перед с задом то точно не понимаешь как оно должно работать.
|
|||
14
seperblunt2
07.03.23
✎
17:45
|
(10) гений, это долго
попрбую через висящее фоновое и выдачу ему заданий через запись в регистр сведений |
|||
15
magicSan
07.03.23
✎
17:51
|
(14) Озвучь задачу
|
|||
16
magicSan
07.03.23
✎
17:52
|
(14) нет делаешь через сеанс у всех фоновых в рамках сеанса ВХ доступно
|
|||
17
seperblunt2
07.03.23
✎
17:55
|
(16) что ты поместишь в вх? таблицу а потом ее подгружать в запрос? (поместить туда сам диспетчер временных не выйдет)
|
|||
18
magicSan
07.03.23
✎
18:10
|
(17) 1. "диспетчер временных" - что за выдуманная дичь?
2. Озвучь задачу. 3. гоняешь тз через вх. |
|||
19
seperblunt2
07.03.23
✎
18:31
|
(18) 3 - долго,
например при заходе в обработку выполнили тяжелый запрос к базе вывели данные, затем юзер будет эти данные всяко фильтровать.. можно фильтровать на клиенте, но это долго при объемах. а тут сохранил тяжелую таблицу в менеджере, проиндексировать и далее делаешь к ней запросы, все шустро. |
|||
20
Garykom
гуру
07.03.23
✎
19:06
|
(19) по логике надо эту тяжелую таблицу сохранять в БД
короче вьюхи нужны в скуле они есть, осталось добавить поддержку в платформу 1С |
|||
21
ДедМорроз
07.03.23
✎
22:14
|
Можно еще через функцию повторного использования возвращать структуру,а в нее уже класть все,что нужно.
|
|||
22
timurhv
07.03.23
✎
22:53
|
(21) В частности, следует иметь в виду, что кэш не хранит данные вечно. Закэшированное значение будет удалено из кэша через 20 минут после вычисления или через 6 минут после последнего использования (в зависимости от того, что наступит раньше*).
https://its.1c.ru/db/v8std/content/724/hdoc |
|||
23
Garykom
гуру
07.03.23
✎
23:13
|
https://infostart.ru/1c/articles/1217577/
1. НЕ кэшировать менеджер временных таблиц там, где кэш сохраняется между вызовами сервера. 2. Быть осторожным с циклическими ссылками. В принципе, это относится не только к менеджеру ВТ, но и к любой разработке. 3. Вместо кэширования менеджера ВТ подумать над архитектурой. Возможно кэшируемые в ВТ данные требуют особого хранения в базе для быстрого доступа. Имхо остается только реализация бесконечного фонового Во временное хранилище и т.д. между серверными вызовами чревато разными глюками |
|||
24
Garykom
гуру
07.03.23
✎
23:17
|
Имхо я бы создал "регистр сведений временных таблиц" в базе
С максимально универсальной структурой, множество полей разных нужных типов И писал данные туда понятно с привязкой к измерению-сеансу (уид как пример), чтобы потом как не надо очищать Ну и соответствие имен полей РС ВТ и моих ВТ |
|||
25
ДедМорроз
08.03.23
✎
01:58
|
Таблицу значений можно легко сериализовать в хранилище значения,а потом обратно,и добавить в запрос,если она нужна.
Удобство менеджера в том,что таблица уже готова к выполнению запроса без дополнительных действий. |
|||
26
seperblunt2
09.03.23
✎
10:10
|
(25) совершенно верно, а манипуляции с таблицей, если она большая занимают долгие секунды...
жаль что так устроилась платформа. интересно (для общего развития) как с этим делом в других средах |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |