Общие сведения
Надёжность и безопасность
Покупка лицензии
Начало работы
Роли в системе
Проекты
Концепции
Компоненты
Инструкции
Задачи
Финансы
Ресурсы
Таймшиты
Клиенты
Вики
Затраты
Отчёты и аналитика
FAQ
Типы отчётов
Тип отчёта «Акты»
Тип отчёта «Баланс отсутствий»
Тип отчёта «Бронирование»
Тип отчёта «Биллинг»
Тип отчёта «Версии проектов»
Тип отчёта «Задачи»
Тип отчёта «Задачи проектов»
Тип отчёта «Затраты»
Тип отчёта «Заявки на затраты»
Тип отчёта «Заявки на отсутствия»
Тип отчёта «История ставок пользователей»
Тип отчёта «Запросы ресурсов»
Тип отчёта «Навыки пользователей»
Тип отчёта «Пользователи»
Тип отчёта «Проводки»
Тип отчёта «Ресурсный план»
Тип отчёта «Ресурсный план (по версиям)»
Тип отчёта «Проекты»
Тип отчёта «Сертификаты пользователей»
Тип отчёта «Счета»
Тип отчёта «Счета (строки)»
Тип отчёта «Таймшиты»
Тип отчёта «Таймшиты детально»
Тип отчёта «Финансы»
Тип отчёта «Структура работ»
Тип отчёта «Центры затрат проектов»
Тип отчёта «Задания воркфлоу»
Тип отчета Клиенты
Тип отчета «Контакты»
Тип отчёта «Сделки»
Тип отчёта «История состояний сделок»
Тип отчёта «Взаимодействия»
Использование отчётов
Группировка данных источника
Группировка данных в отчёте
Типы виджетов
Общие отчёты и шаблоны
Настройка отчёта
Экспорт отчётов
Пользовательские настройки отчёта
Вычисляемые поля
Особые колонки отчётов с временными рядами
Использование панелей мониторинга
Публикация панелей
Фильтры источников данных
Настройка и администрирование
Типовой порядок настройки системы
Язык формул и выражений
On-premises
API
История изменений
Термины и определения

IScheduledJobHandler

Обновлено: 13.03.2026

IScheduledJobHandler — интерфейс обработчика Задания по расписанию.

Обработчик реализует пользовательскую логику. Система выполняет её автоматически по настроенному расписанию.

Такие задания используются для фоновых операций, которые не связаны напрямую с действиями пользователя.

Назначение

Обработчики заданий по расписанию позволяют реализовать:

  • периодические интеграции с внешними системами;
  • синхронизацию данных;
  • массовую обработку сущностей;
  • автоматическое обновление данных;
  • отправку уведомлений;
  • запуск бизнес-процессов.

Задание настраивается в системе. Оно указывает класс обработчика, который реализует IScheduledJobHandler.

Интерфейс

public interface IScheduledJobHandler
{
    Task Execute(ScheduledJobContext context);
}

Метод Execute

Task Execute(ScheduledJobContext context);

Метод вызывается системой при выполнении задания по расписанию. Внутри метода реализуется основная логика задания.

Параметры

context

Контекст выполнения задания (ScheduledJobContext). Наследует DynamicCodeContext и предоставляет доступ к API системы.

Через контекст можно:

  • получать сервисы сущностей;
  • работать с жизненным циклом сущностей;
  • выполнять HTTP-запросы;
  • отправлять уведомления;
  • получать расписание пользователей;
  • выполнять логирование.

Пример интеграции

Пример задания, выполняющего HTTP-запрос к внешнему API.

public class SyncJob : IScheduledJobHandler
{
    public async Task Execute(ScheduledJobContext context)
    {
        var http = context.GetHttpClient();

        var response = await http.GetStringAsync(
            "https://api.example.com/data"
        );

        await context.Log("Данные успешно получены из внешнего API");
    }
}

Рекомендации

  • Делайте задания идемпотентными (повторный запуск не должен приводить к ошибкам).
  • Используйте context.Log(...) для диагностики работы задания.
  • Для интеграций используйте context.GetHttpClient().
  • При обработке большого количества данных выполняйте выборки через IQueryable, чтобы избежать загрузки лишних данных в память.
Предыдущая
 IEntityTypeCustomHooks
Следующая
ILifecycleRoleResolver 

Содержание

Назначение Интерфейс Метод Execute Параметры Пример интеграции Рекомендации
Ничего не найдено

Перейти на русскую версию?