1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/attemper-attemper

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Аттемпер: распределённая система управления задачами

На основе Quartz реализована распределённая система управления задачами (по расписанию, API). В качестве среды выполнения задач используется Camunda.

Введение

Аттемпер — это приложение для распределённого управления рабочими процессами с поддержкой многопользовательского режима. Оно предназначено для организации и координации задач в различных областях деятельности.

Основные характеристики:

  1. Поддержка распределённой блокировки на основе Redis и пессимистической блокировки в базе данных Quartz.
  2. Использование Camunda в качестве фреймворка для управления рабочими процессами.
  3. Разработка на Spring Boot, что обеспечивает совместимость с микросервисной архитектурой.
  4. Поддержка MySQL, Oracle, SQL Server и PostgreSQL.
  5. Возможность использования Eureka в качестве центра регистрации и интеграции с другими сервисами Spring Cloud.
  6. Поддержка скриптов (Shell, Python и др.).
  7. Управление задачами с различными условиями, включая родительские, параллельные и ветвящиеся задачи.
  8. Передача параметров между задачами и их замена.
  9. Уведомления по электронной почте, через WeChat и корпоративный WeChat.
  10. Отложенные задачи (предварительное планирование операций).
  11. Поддержка финансовых операций и других отраслей.
  12. Интернационализация (китайский и английский языки) и поддержка часовых поясов.

Функции

  • Планирование:

    • Распределённое управление задачами на основе базы данных с использованием Quartz.
    • Использование Disruptor для ускорения распределения и выполнения задач.
    • Отложенное планирование задач (через API во время выполнения бизнес-операций).
    • Ручное выполнение задач.
    • Повторные попытки выполнения (с возможностью возобновления с определённой точки).
    • Остановка выполнения задач.
    • Расширение квартальных и полугодовых периодов как единиц планирования в Quartz (например, выполнение каждые три месяца или полгода с первого дня соответствующего периода).
  • Задачи:

    • Включение/отключение задач.
    • Копирование, импорт и экспорт задач.
    • Последовательное, параллельное и иерархическое планирование задач.
    • Поддержка HTTP, Shell, Python, Groovy и других языков.
    • Синхронные и асинхронные HTTP-задачи.
    • Локальное написание и использование путей к файлам для задач на основе скриптов.
    • Установка времени ожидания для задач.
    • Возможность параллельного выполнения задач.
    • Управление версиями (итерации версий и переключение между ними).
    • Ручное выполнение задач для отладки и заполнения пропусков.
  • Триггеры:

    • Триггеры на основе выражений Cron, как в Linux Crontab.
    • Ежедневные периодические триггеры в Quartz.
    • Календарные периодические триггеры, например, выполнение каждый месяц с первого числа каждые две недели.
    • Сдвинутые календарные триггеры (расширение), например, выполнение каждую неделю с первого рабочего дня.
  • Параметры:

    • Поддерживаются различные типы параметров, такие как строки, логические значения, целые числа, двойные числа, длинные числа, даты, время, дата и время, списки, карты, SQL, Gist и TradeDate.
    • Задачи и их узлы могут быть связаны с параметрами.
    • Параметры могут передаваться между задачами.
  • Календарь:

    • Поддержка торговых дней, естественных дней, рабочих дней и официальных праздников.
    • Возможность создания и импорта пользовательских календарей.
    • Квартальные и полугодовые периоды как единицы планирования в Quartz.
  • Источники данных:

    • Поддержка баз данных MySQL, Oracle, SQLServer и Posgresql.
    • Тестирование подключения к источникам данных.
  • Мониторинг:

    • Мониторинг в реальном времени, исторический мониторинг и полный мониторинг.
    • Остановку выполнения текущих задач.
    • Повторная попытка выполнения неудачных задач.
    • Просмотр журналов в режиме онлайн.
    • Мониторинг состояния планировщика и исполнителей (использование процессора, памяти, JVM и файловой системы).
  • Уведомления:

    • Уведомления через электронную почту, WeChat и корпоративные уведомления WeChat.
    • Условие уведомлений: ошибки при выполнении.
  • Статистика и анализ:

    • Статистика выполнения задач.
  • Многопользовательская среда:

    • Разделение прав доступа для разных бизнес-систем на основе пользователей (данные и меню).
  • Мультисервисная среда:

    • Один пользователь может использовать несколько сервисов.
    • Взаимодействие с помощью обнаружения сервисов, IP-адресов и портов или доменных имён.

Модули

  • Аттемпер-админ: интерфейс администратора.
  • Аттемпер-веб: серверный компонент.
  • Аттемпер-исполнитель: исполнитель задач.
  • Аттемпер-планировщик: планировщик задач.

Документация

Дополнительная информация доступна в онлайн-документации https://attemper.github.io/attemper-document/.

Разработка

Демонстрационный проект для интеграции со Spring Boot и MVC доступен по ссылке https://github.com/attemper/attemper-samples.

Предварительный просмотр

В документации представлены предварительные изображения интерфейса приложения, включая:

  • Список задач.
  • Дизайн задач.
  • Триггер на основе Cron.
  • Параметры задач.
  • Проект.
  • Календарь.
  • Выполнение задач.
  • Задача в процессе выполнения.
  • Уведомления по электронной почте.
  • Уведомления WeChat.
  • Корпоративные уведомления WeChat.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/attemper-attemper.git
git@api.gitlife.ru:oschina-mirror/attemper-attemper.git
oschina-mirror
attemper-attemper
attemper-attemper
master