Регулярно и часто запускается фоновое задание. Ему надо оперировать данными между запусками. Как хранить эти данные? В БД не хочу писать. Подходят ли для этого Параметры сеанса?
---
обработчик на сервере вроде недоступен. Не рег. задание, грубо говоря, запускаем 1С под пользователем, а под ним обработку, а она уже все делает. Данные между вызовами процедуры обработки будут храниться в реквизитах обработки
---
Параметры инициализируются при запуске, сеанс завершился, параметры очистились
---
Меня смущает, что тут сеанса толком и нет. Есть только фоновое задание.
---
Это не важно, по идее все сеанс, и веб-сервис, и внешнее соединение. Но в любом случае это не подойдет.

(3) Т.е. сохранится ли вр.хр. между вызовами фонового задания и будет ли оно иметь одно содержимое?

С одним уникальным адресом должно сохраниться до следующего вызова (если не произойдет очистка кэша сервером), то есть как бы должно, но мало ли что решит сервер, да и долго оно лежать не будет.
---
Правильно я понимаю, что подойдёт ПараметрСеанса с типом ХранилищеЗначения? По воле сервера не хотелось бы терять данные.
---
Фоновое задание кто запускает? Регламентное, или пользователь?
---
Регламентное.
---
Тогда параметры сеанса никак не подойдут, они очищаются при выходе, и заполняются при старте, теми же обращениями в бд
---
ХранилищеОбщихНастроек
---
смотря какие данные, можно и в параметры сеанса, а можно и в файл записать например....
---
Нужна максимальная скорость работы. Поэтому если не запись в БД, то тем более не в файлы. Данные - несколько таблиц значений.
А будет ли работать помещение во временное хранилище под условным именем? Т.е. сохранится ли вр.хр. между вызовами фонового задания и будет ли оно иметь одно содержимое? Выполнение только на стороне сервера.
---
По идее, если рассматривать работу с бд, субд будет анализировать частоту запросов и кэшировать план, следовательно и с каждым разом запрос будет выполняться быстрее, можно попробовать использовать общий модуль с галкой ПовтИсп, и если фоновое запускается часто, вызов тоже будет кэшироваться.
---
Каждые 5 секунд запускается. А есть ограничение по размеру кешируемого значения в модулях ПовтИсп?
---
Они кэшируют параметры процедур, но хотя нет, опять же на время сеанса, не подойдет.
---
Может тогда стоит логику пересмотреть? Запускать под одним сеансом, и через обработчик ожидания вызывать обработку данных, переменные будут храниться в оперативной памяти

Из минусов только запущенный под пользователем сеанс
---
Т.е. делаю рег.задание, чтобы оно после старта один раз запускало фоновое, а уже оно через обработчик ожидания пока работает запускает некую процедуру, для которой это всё будет как один сеанс и можно будет использовать ПараметрСеанса?
---
обработчик на сервере вроде недоступен. Не рег. задание, грубо говоря, запускаем 1С под пользователем, а под ним обработку, а она уже все делает. Данные между вызовами процедуры обработки будут храниться в реквизитах обработки
---
(20) Вариант задействования пользователя тут не прокатывает. :(
Ладно, добавляется мне геморрой по сохранению всего этого добра в БД и увеличение времени выполнения обработки.
Спасибо за помощь.
---
а сделать пользователя и запускать 1С на сервере, как полноценное приложение и через задачи нагружать его данными?
---
Способа хранить данные в памяти сервера между сеансами - нет.
Либо держать сеанс, либо скидывать на диск.
Изоляция сеансовых данных - одна из базовых концепций.
---
Да, пожалуй, только служебный сеанс спасет отца русской демократии. Фоновое в режиме ожидания сделать не получится. Во всяком случае без внешних костылей.
---
Можно попробовать запускать одно задание (например, раз в сутки), внутри которого раз в 5 секунд выполняется процедура.
Только надо корректно организовать перезапуск задания в случае вылета или снятия. Например, через другое задание-диспетчер, которое запускается раз в 5 секунд и просто проверяет наличие выполнения основного задания.
---
Я об этом и говорил в (18)
---
Не получится внутри фонового задания раз в 5 секунд выполнять процедуру. Разве что бесконечные циклы крутить со всеми вытекающими. Ну или снаружи что-то дергать для эмуляции sleep
---
ПодключитьОбработчикОжидания (AttachIdleHandler)
Синтаксис:

ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>)
Параметры:

<ИмяПроцедуры> (обязательный)

Тип: Строка.
Имя экспортируемой процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля.
Процедура должна располагаться на клиенте.

Действительно. Жаль.
---
ну, если такие проблемы, то ЗначениеВФайл/ЗначениеИзФайла
или 2 регламента, которые передают друг-другу нужные параметры и ждут когда выполниться параллельное задание