AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.07.2006, 08:38   #1  
Jox is offline
Jox
Developer
Аватар для Jox
 
112 / 24 (1) +++
Регистрация: 26.07.2005
Адрес: Питер
! При использовании SetTimeOut() происходит утечка памяти
При использовании SetTimeOut() происходит утечка памяти:

Есть некая форма (пакетного сервера):
PHP код:
void BatchMonitor()
{
    
BatchOrder      batchOrder;
    
str             action;
    
BatchUserMsg    batchUserMsg;
    
BatchUserMsg    batchUserMsg_Del;
    
userId          curUser;
    
int             sesId;
    
UserMessage     curMsg;
    ;

    
ActionText.text(strfmt('Обработка заданий в группе "%1". \n\nЗаданий в очереди: %2'
                            
currentCluster
                            
BatchOrder::getWaitBatchToCluster(currentCluster)));

    if (!
BatchOrder::isBusy(currentCluster))
    {
        if (
element.isFound(currentCluster))
        {
            if (
currentCluster)
            {
                
select firstonly batchOrder
                    order by RecId
                    where batchOrder
.ClusterId == currentCluster
                       
&& batchOrder.BatchNowStatus == BatchNowStatus::Wait;

//                ActionList.add(strfmt("%1:  Выполняется пакет '%2'", time2str(TimeNow(), 1, 1), batchOrder.BatchId));
                
try
                {
                    
action ClusterHandler::onHandle(currentClusterbatchOrder.BatchId);
                }
                catch (
Exception::Error)
                {
                    
BatchOrder::changeStatus(batchOrder.BatchIdBatchNowStatus::Error);
                    
info::logAddLine(strfmt("%1:  Ошибка в обработке пакета '%2'."time2str(TimeNow(), 11), batchOrder.BatchId));
                }
                if (
action)
                    
info::logAddLine(strfmt("%1"action));
                
this.setTimeOut("BatchMonitor"1false);
            }
        }
    }

    
this.setTimeOut("BatchMonitor"timer 1000false);

Сервер за 3-4 суток сжирает до 1 Gb оперативки, про своп ваще молчу
Старый 21.07.2006, 10:34   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
в SP5 заявлено наличие нескольких фиксов, связанных с утечкой памяти:

пример №1
PHP код:
static void conpeek(Args _args)
{
container custcont;
int loop;
custtable custtable;
;
select custtable;
custcont conins(custcont,1,custtable.data());
for(
loop 1loop <= 1000loop++)
{
[
custtable] = conpeek(custcont,1); //memory leak
}

пример №2
PHP код:
static void LoopLeakTest(Args _args)
{
int i;
;
for (
i=1i<1000000i++)
{
}

ищите возможность перейти на версию клиента посвежее SP3
кстати, стандартный пакетный сервер вроде бы сильно не "протекал"..
__________________
-ТСЯ или -ТЬСЯ ?
Старый 21.07.2006, 10:56   #3  
Jox is offline
Jox
Developer
Аватар для Jox
 
112 / 24 (1) +++
Регистрация: 26.07.2005
Адрес: Питер
Цитата:
Сообщение от Vadik
кстати, стандартный пакетный сервер вроде бы сильно не "протекал"..
Мой пакетник позволяет снизить трудозатраты по разработке функционала, работающего в пакете.
И можно передавать пакету неограниченное число параметров разного типа.
Плюс удобное средство управления очередями.

Последний раз редактировалось Jox; 21.07.2006 в 10:59.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Утечка памяти при вызове orig() gb20 DAX: Программирование 3 11.12.2009 12:11
Как происходит инвентаризация? miklenew DAX: Функционал 3 25.01.2008 14:22
setTimeOut Lucky13 DAX: Программирование 2 29.08.2006 12:46
Утечка памяти? Почему? Ax3 sp 4 lagr221374 DAX: Программирование 17 15.03.2006 18:23
утечка памяти в аксапта jekill DAX: Администрирование 69 07.03.2006 10:25

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:50.