![]() |
#15 |
Member
|
А обязательно вашу задачу решать через форму?
Например, такой джобик закеширует объекты АОТа из узла классов. #AOT static void glibs() { TreeNode treeNode; TreeNodeIterator treeNodeIterator; ; treeNode = TreeNode::findNode(#ClassesPath); treeNodeIterator = treeNode.AOTiterator(); treeNode = treeNodeIterator.next(); while (treeNode) { treeNode.AOTload(); treeNode = treeNodeIterator.next(); } } Для других узлов его переделать несложно. Только он память жрет прилично. Возможно, вам будет достаточно прогнать его без вызова treeNode.AOTload(). Я вот что заметил. После запуска джоба, остановки клиента и АОСа и последующего их запуска узел АОТа открывается быстро. Посему я не уверен, но, возможно, при открытии узла АОТа анализируется не кэш АОСа, а читается какой-нибудь axapd.aoi (или что-то в этом роде) с диска. А после перезапуска АОСа файлы приложения живут в файловом кэше, и поэтому узел уже быстро открывается. Иначе пока я не знаю, как объяснить этот эффект. Но джоб и в этом случае должен обеспечить кэширование файлов приложения. Попробую проверить завтра. А то м.б. джоб нужно запускать время от времени в процессе работы, т.к. файловый кэш имеет свойство освобождаться. А вообще, по-моему, надуманная проблема насчет того, что узел открывается неприемлемо долго. Это один раз происходит. После перезапуска сервера. И не так уж долго и терпеть приходится.
__________________
С уважением, glibs® |
|
Теги |
aoc, aot, как правильно, кэширование, тормоза |
|
|