|
временное хранилище 8.2 | ☑ | ||
---|---|---|---|---|
0
nbIx
24.11.11
✎
13:01
|
Народ, где физически находится временное хранилище в 8.2, в какой папке?
|
|||
1
SerMaxim
24.11.11
✎
13:04
|
В сервере приложений
|
|||
2
MaxS
24.11.11
✎
13:06
|
(0) в желтой
|
|||
3
Maxus43
24.11.11
✎
13:06
|
адрес = ПоместитьВоВременноеХранилище("123");
Сообщить("Ах вот ты где... " + адрес); |
|||
4
nbIx
24.11.11
✎
13:10
|
(1) В памяти сервера? Или все таки в каком-нибудь каталоге?
|
|||
5
Maxus43
24.11.11
✎
13:16
|
(4) чего непонятного в (3)? есно в каталоге
|
|||
6
DmitrO
24.11.11
✎
13:28
|
в памяти сервера
|
|||
7
Maxus43
24.11.11
✎
13:30
|
хм. я конечно на файлово
|
|||
8
Maxus43
24.11.11
✎
13:30
|
*вой проверял, на клиент-серверном может и не так
|
|||
9
Jaffar
24.11.11
✎
13:35
|
(4) смотря что называть памятью сервера :-)
многие люди и жесткий диск называют памятью... |
|||
10
nbIx
24.11.11
✎
13:36
|
(6) Точняк? Тогда зашибись.
(9) Так где, на жестком диске или оперативной памяти? Еще проблема, не могу форму отчета получить, которую зарегил не сервере... Объект отчета получает, а вот метод ПолучитьФорму возвращает неопределено. Так же не работает ОткрытьФорму |
|||
11
DmitrO
24.11.11
✎
13:39
|
(7)в файловой, при прямом подключении к базе - вероятно в памяти клиента
в файловой, при подключении к базе через веб-сервер - вероятно в памяти веб-сервера (9) под памятью я имею в виду именно оперативную память |
|||
12
H A D G E H O G s
24.11.11
✎
13:45
|
tmp шник какой-нибудь хреначит
|
|||
13
nbIx
24.11.11
✎
13:48
|
(12) Вполне возможно.
Можно же положить во временное хранилище и пару гигов файлик. |
|||
14
H A D G E H O G s
24.11.11
✎
13:52
|
Судя по монитору - в файле 1Cv8tmp.1CD
что в папке базы создается |
|||
15
H A D G E H O G s
24.11.11
✎
13:53
|
В клиент-серверной - отсылает на сервер, что логично.
Сервер пока не отследить, на нем толпа сидит. |
|||
16
DmitrO
24.11.11
✎
13:56
|
Во временное хранилище можно положить такие типы данных, которые записать в файл не возможно в принципе.
|
|||
17
H A D G E H O G s
24.11.11
✎
13:57
|
(16) Ммм?
|
|||
18
QLgKR
24.11.11
✎
13:57
|
временное хранилище это файл, в любом режиме.
(16) какие же например? |
|||
19
H A D G E H O G s
24.11.11
✎
13:59
|
(18) Че так? Откуда инфа?
p.s. Временное валится уже на 600 мегабайтах (вроде бы столько). |
|||
20
DmitrO
24.11.11
✎
14:02
|
(18)мутабельное, COMОбъект
|
|||
21
Jaffar
24.11.11
✎
14:03
|
(10) "Так где, на жестком диске или оперативной памяти? "
имхо - на диске в каком-нибудь временном файле типа (12). иначе я с трудом себе представляю, как можно реализовать (3). |
|||
22
Jaffar
24.11.11
✎
14:04
|
(20) и чо - у них нет двоичного представления (образа памяти)?
|
|||
23
QLgKR
24.11.11
✎
14:07
|
(19)
1. у разработчиков платформы спрашивал 2. Если бы хранилось в оперативке, то о резервировании кластеров можно было бы и не говорить. Перезагрузили и нет хранилища, а по факту работает. |
|||
24
H A D G E H O G s
24.11.11
✎
14:10
|
(23)
<<Если бы хранилось в оперативке, то о резервировании кластеров можно было бы и не говорить. Перезагрузили и нет хранилища, а по факту работает.>> Воот, отлично! |
|||
25
H A D G E H O G s
24.11.11
✎
14:11
|
(20) Я те COM объект спокойно сохраню на диск.
Мутабельное, имея к нему доступ как к TObject - тоже |
|||
26
H A D G E H O G s
24.11.11
✎
14:12
|
(23) А как ведет себя COM объект? Слетает?
|
|||
27
DmitrO
24.11.11
✎
14:15
|
(22)оно есть, но получить его может только сам объект
(23)тогда возможно то, что имеет интерфейс сериализации они сериализуют.. но тогда это не эффективно (25)ты ошибаешься |
|||
28
QLgKR
24.11.11
✎
14:15
|
(20)
стоит подождать минут 20 и думаю, что получить уже ничего не получится |
|||
29
H A D G E H O G s
24.11.11
✎
14:17
|
(28) Почему такой интервал? Почему нельзя его настроить?
|
|||
30
QLgKR
24.11.11
✎
14:17
|
(27)
Именно, только то что сериализуется и можно поместить и восстановить из временного хранилища |
|||
31
QLgKR
24.11.11
✎
14:20
|
(28)
это только касается тех объектов, которые не должны помещаться во временное хранилище, например, можно поместить ОтчетОбъект и потом его даже получить. Но через какое-то время, будет возвращаться только Неопределено. 20 мин это максимум, так устроен механизм кэширования в платформе, может и раньше. |
|||
32
DmitrO
24.11.11
✎
14:21
|
(31)хмм.. если всего 20 мин.. зачем тогда вообще сериализовать? почему не хранить в памяти?
|
|||
33
QLgKR
24.11.11
✎
14:24
|
(32)
то что можно сохранять объекты, которые не должны сохранятся, это скорее побочный эффект. И то что он будет дальше работать, никто не гарантирует. Нормальные объекты при привязке к идентификатору формы хранятся пока жива форма. |
|||
34
DmitrO
24.11.11
✎
14:25
|
(31)если всего 20 мин.. зачем ради переключения (а оно ведь при отказе только) на другой процесс сериализовать на диск?
да и о каком диске идет речь, господа удавы, в одном кластере может быть несколько физических серверов 1С (диски у них разные). |
|||
35
QLgKR
24.11.11
✎
14:30
|
(34)
думаю, что при переключении, COMОбъект потеряется. Могу только предположить, что сам COMОбъект не сохраняется, а сохраняется только ссылка на него, в итоге счетчик ссылок не обнуляется и объект держится в памяти, а при получении из временного хранилища мы получаем ссылку и может дальше работать. |
|||
36
H A D G E H O G s
24.11.11
✎
14:30
|
гхм, интрига!
|
|||
37
H A D G E H O G s
24.11.11
✎
14:31
|
Могу только предположить, что сам COMОбъект не сохраняется, а сохраняется только ссылка на него
Это как бы очевидно. |
|||
38
vmv
24.11.11
✎
14:43
|
||||
39
DmitrO
24.11.11
✎
14:43
|
Имхо, все данные сеанса (в том числе и все что уложили во временное хранилище) хранятся в памяти, при переключении на другой рабочий процесс (который может случится и на другом сервере) данные сеанса восстанавливаются в рамках другого процесса (модуль сеанса отрабатывает заново). Клиент какбы ничего не замечает, пока не продолжит работу с ранее сохраненными данными во временном хранилище.
В платформе, кстати, есть специальные методы чтобы определить жив ли еще ранее полученный адрес, если писать код с учетом этой проверки (по-сути каждый раз перед использованием адреса проверять его, и если протухло, то либо восстанавливать либо начинать заново), то получится вполне отказоустойчиво. |
|||
40
apokrit
24.11.11
✎
14:49
|
(39) Все данные сеанса хранятся на диске и пишутся с flush'ом
Проверить очень просто если нажать на reset на сервере, то они ни куда не денутся. |
|||
41
vmv
24.11.11
✎
14:49
|
деструкторы всегда были слабым звеном последних платформ 1С.
да что там картинки и временное, даже просто если в секрверной процедуре создавать сложное дерево, напрмер так ДЗ = Новый ДеревоЗначений; ДЗ = ЗаполнениеАдскогоДерева(); ЗначениеВРевизитФормы(ДЗ, ИмяРеквизита); по при вызове этой серверной процедуцры из клиентской, например, при перезаполнении дерева формы, выпадала ошибка типов при передаче управления с сервера на клиент. Выход прост, в конце сервеной процедуры писать ДЗ = ЗаполнениеАдскогоДерева(); ДЗ = 0; Вывод тоже прост, к сожалению деструкторы и сборшики мусора - это последнее о чем думают разработчики платформы, а должно быть хотя бы вторым. убрать за собой - святое дело) |
|||
42
apokrit
24.11.11
✎
14:51
|
(34) Не тему разных дисков - хранится все в менеджере, в сервисе сеансовых данных.
Если сервисов сеансовых данных несколько - сеансы распределяются между ними. Если используется резервирование кластеров - данные реплицируются на резервные кластеры. |
|||
43
QLgKR
24.11.11
✎
14:55
|
(41)
а полный текст процедуры можно увидеть. может ДЗ это параметр процедуры? |
|||
44
nbIx
24.11.11
✎
15:01
|
Господа, никто не знает почему метод внешней обработки
ПолучитьФорму() возвращает неопределено. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |