Renderlife
10/25/2018 - 10:38 AM

Создание миграции по добавлению Agenta в Битрикс

public function up()
    {
        // Агент проверки неотправленных заявок на услуги - запуск в 8-00 MSK
        $date = new DateTime();
        $date->modify('+1 day');
        $setDateTime = $date->format('d.m.Y') . " 08:00:00";
        $id = CAgent::AddAgent(
            "ServiceNotificationNotSentCRM::checkNotSendCRM(8);",    // имя функции
            "",                                                     // идентификатор модуля
            "N",                                                    // агент не критичен к кол-ву запусков
            86400,                                                  // интервал запуска - 1 сутки
            '',                                                     // дата первой проверки на запуск (сейчас)
            "Y",                                                    // агент активен
            $setDateTime,                                           // дата первого запуска
            30
        ); 

        if (!$id) {
            throw new MigrationException('Ошибка добавления агента');
        }

        // Агент проверки неотправленных заявок на услуги - запуск в 16-00 MSK
        $date = new DateTime();
        $date->modify('+1 day');
        $setDateTime = $date->format('d.m.Y') . " 16:00:00";
        \CAgent::AddAgent(
            "ServiceNotificationNotSentCRM::checkNotSendCRM(16);",    // имя функции
            "",                                                     // идентификатор модуля
            "N",                                                    // агент не критичен к кол-ву запусков
            86400,                                                  // интервал запуска - 1 сутки
            '',                                                     // дата первой проверки на запуск (сейчас)
            "Y",                                                    // агент активен
            $setDateTime,                                           // дата первого запуска
            30
        );

        if (!$id) {
            throw new MigrationException('Ошибка добавления агента');
        }
    }

    /**
     * Reverse the migration.
     *
     * @return mixed
     */
    public function down()
    {
        if (!CModule::IncludeModule('main')) {
            throw new MigrationException('Не установлен главный модуль');
        }
        CAgent::RemoveAgent('ServiceNotificationNotSentCRM::checkNotSendCRM(8);', "");
        CAgent::RemoveAgent('ServiceNotificationNotSentCRM::checkNotSendCRM(16);', "");
    }