Частота срабатывания Generic Agent

Обсуждение вопросов и решений

Модератор: ykolesnikov

Ответить
Trv
OTRS Новобранец
Сообщения: 24
Зарегистрирован: 07 мар 2012, 12:29

Частота срабатывания Generic Agent

Сообщение Trv » 08 июн 2012, 16:47

Можно ли настроить планировщик задач так, что бы задачи запускались чаще, чем каждые 10 минут?

JohniGo
OTRS Бывалый
Сообщения: 369
Зарегистрирован: 21 окт 2010, 15:31

Re: Частота срабатывания Generic Agent

Сообщение JohniGo » 11 июн 2012, 16:07

Конечно можно. Гуглить cron...
Автоматизирую бардак.
Послужной список

Trv
OTRS Новобранец
Сообщения: 24
Зарегистрирован: 07 мар 2012, 12:29

Re: Частота срабатывания Generic Agent

Сообщение Trv » 11 июн 2012, 16:58

JohniGo писал(а):Конечно можно. Гуглить cron...
Спасибо за совет :)

Похоже тут без вариантов, надо править исходники:
1. \OTRS\OTRS\Kernel\Modules\AdminGenericAgent.pm копируем в \OTRS\OTRS\Custom\Kernel\Modules\
Добавляем период по 5 минут (строчка 627):

Код: Выделить всё

 $JobData{ScheduleMinutesList} = $Self->{LayoutObject}->BuildSelection(
        Data => {
            '00' => '00',
            5 => '05',
            10   => '10',
            15   => '15',
            20   => '20',
            25   => '25',
            30   => '30',
            35   => '35',
            40   => '40',
            45   => '45',
            50   => '50',
            55   => '55',
        },
        Name        => 'ScheduleMinutes',
        Size        => 12,
        Multiple    => 1,
        Translation => 0,
        SelectedID  => $JobData{ScheduleMinutes},
    );
Теперь в интерфейсе админа выбираем новый период, сохраняем. При желании можем посмотреть в базе : SELECT * FROM [otrs].[dbo].[generic_agent_jobs] where job_key='ScheduleMinutes'
должны появится новые записи.

2. Теперь надо модифицировать файл \OTRS\OTRS\bin\otrs.GenericAgent.pl , там стоит проверка на минимальное время 10 мин. (строчка 246)

Код: Выделить всё

        # check if job already was running less than 5 minutes (+- 5 secs) ago
        my $CurrentTime = $CommonObject{TimeObject}->SystemTime();
        if (
            $DBJobRaw{ScheduleLastRunUnixTime}
            && $CurrentTime < $DBJobRaw{ScheduleLastRunUnixTime} + ( 5 * 59 )
            )
        {
            my $SecsAgo = $CurrentTime - $DBJobRaw{ScheduleLastRunUnixTime};
            print "Job '$DBJob' last finished $SecsAgo seconds ago. Skipping for now.\n";
            next;
        }
3. Ну и запускать команду \OTRS\OTRS\bin\otrs.GenericAgent.pl -c db (кроном, виндовым шедулером и т.п.) не реже 5 минут.

Artjoms
OTRS Новобранец
Сообщения: 34
Зарегистрирован: 06 окт 2011, 17:36
Откуда: Latvija

Re: Частота срабатывания Generic Agent

Сообщение Artjoms » 27 июн 2012, 14:56

хмммм также можно было бы создать агентовый файл и запускать его из под крона, только тогда все установки придётся давать вручную - чистым текстом!
File: /Kernel/Config/GenericAgent.pl
Smile :)
----------------------------------------
Artjoms Petrovs
System Analyst / Системный Аналитик
Software Developer / Разработчик Информационных Систем
----------------------------------------
OTRS 5 Patch Level 9

Ответить