Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Архитектура в тренде: система использует SpringBoot+VUE для разделения переднего и заднего плана, передний план развёртывается отдельно, Nginx используется для балансировки нагрузки.
Дружественный интерфейс: поддерживает как swagger2, так и knife4j для визуализации интерфейса API отладки, а также поддерживает автономные документы по интерфейсу.
Управление задачами: позволяет управлять задачами через веб-страницу, обеспечивая визуальное управление и быстрое начало работы.
Запись выполнения: позволяет просматривать результаты планирования, результаты выполнения и время следующего выполнения через веб-страницу в режиме реального времени.
Журнал в реальном времени: позволяет просматривать полный журнал выполнения, выводимый исполнителем через веб-страницу в реальном времени.
Уникальный поиск: позволяет выполнять глобальный уникальный поиск по jobname или jobgroup через веб-интерфейс.
Настраиваемые параметры: позволяет настраивать типы запросов, пути запросов, параметры запросов и выражения Cron в режиме онлайн, с немедленным вступлением в силу.
Динамическое управление: позволяет динамически изменять состояние задач, запускать/останавливать задачи и завершать выполнение задач в процессе, с немедленным вступлением в силу.
Стратегии выполнения: поддерживает разнообразные стратегии выполнения, включая запросы Get, PostJson и PostFrom формы.
Автоматическая регистрация: задачи регистрируются автоматически через определённые промежутки времени, также поддерживается ручная регистрация задач по расписанию.
Автоматическое выполнение: система автоматически обнаруживает зарегистрированные задачи и запускает их выполнение, также поддерживаются ручные триггеры для немедленного выполнения.
Управление пользователями: поддерживается онлайн-управление пользователями системы, ролями и меню, включая администраторов, разработчиков и обычных пользователей с тремя ролями.
Контроль доступа: поддерживается контроль доступа в режиме онлайн, администраторы имеют полный доступ, разработчики имеют доступ ко всему, кроме управления ролями, обычные пользователи могут управлять только задачами.
Кластерное развёртывание: поддерживается распределённое выполнение, система поддерживает кластерное развёртывание для обеспечения высокой доступности выполнения задач.
Эластичное планирование: если машина в кластере выходит из строя или возвращается в работу, задачи будут перераспределены при следующем планировании.
Стратегия маршрутизации: при кластерном развёртывании предоставляется разнообразная стратегия маршрутизации, включая циклический перебор, случайный выбор, переключение при отказе и переключение при перегрузке.
Переключение при отказе: при выборе стратегии маршрутизации «переключение при отказе» в случае сбоя машины в кластере задача будет автоматически перенаправлена на другую работающую машину для отправки запроса на планирование.
Стратегия блокировки: когда плотность планирования слишком высока и исполнитель не успевает обрабатывать задачи, доступны следующие стратегии: последовательное выполнение на одной машине (по умолчанию), отбрасывание последующих задач планирования и перекрытие предыдущих задач планирования.
Тайм-аут: можно настроить тайм-аут для задач, и выполнение задачи будет прервано, если она превысит установленный лимит времени.
Механизм повтора: можно настроить количество попыток для задач, и задача будет повторно выполнена в соответствии с установленным количеством попыток при неудачном выполнении.
Фабрика сообщений: по умолчанию предоставляется механизм рассылки сообщений через электронную почту, при этом сохраняется возможность расширения для поддержки других способов рассылки, таких как SMS и DingTalk.
Оповещение по электронной почте: при сбое задачи поддерживается отправка оповещений по электронной почте, и можно настроить несколько адресов электронной почты для групповой рассылки оповещений.
Отчёт о выполнении: поддерживается просмотр данных о выполнении в реальном времени и отчётов о планировании, таких как распределение дат планирования и соотношение выполнения групп задач.
Триггер событий: помимо планирования на основе Cron и зависимостей задач, предоставляются услуги API для запуска однократного выполнения задач.
Задачи сценариев: поддерживается разработка и выполнение распределённых задач сценариев с использованием платформ, таких как GLUE, на основе распределённой среды разработки.
Многопоточное выполнение: обеспечивается многопоточная обработка планирования для обеспечения точного выполнения без блокировок.
Разделение потоков: потоки планирования разделены на изолированные пулы, медленные задачи автоматически направляются в пул «Slow», чтобы избежать перегрузки планировщика и повысить стабильность системы.
Gradle: последняя стабильная версия будет отправлена в центральный репозиторий gradle для удобства использования пользователями.
Maven: последняя стабильная версия будет отправлена в центральный репозиторий maven для удобства использования пользователями.
Согласованность: на основе Redis обеспечивается окончательная согласованность распределённого планирования, и каждая задача планируется только один раз.
Асинхронность: весь процесс планирования полностью асинхронизирован, включая асинхронное планирование, асинхронное выполнение и асинхронный обратный вызов, что эффективно снижает нагрузку на планирование и обеспечивает поддержку задач любой продолжительности.
Межъязыковая поддержка: система предоставляет независимые от языка RESTFUL API-сервисы, позволяя третьим сторонам на любом языке интегрироваться с Task Manage.
Интернационализация: задний план поддерживает настройку интернационализации, предоставляя китайский и английский языки, по умолчанию используется китайский язык.
Контейнеризация: предоставляются официальные образы Docker, которые постоянно обновляются и публикуются на Dockerhub, обеспечивая удобство использования «из коробки».
Ход разработки
Архитектура в тренде: система использует SpringBoot+VUE для разделения переднего и заднего плана, передний план развёртывается отдельно, Nginx используется для балансировки нагрузки.
Дружественный интерфейс: поддерживается как swagger2, так и knife4j для визуализации интерфейса API отладки, а также поддерживается автономные документы по интерфейсу.
Управление задачами: управление задачами через веб-страницу обеспечивает визуальное управление и быстрое начало работы.
Запись выполнения: результаты планирования, результаты выполнения и время следующего выполнения можно просматривать через веб-страницу в режиме реального времени.
Журнал в реальном времени: полный журнал выполнения, выводимый исполнителем, можно просматривать через веб-страницу в реальном времени.
Уникальный поиск: глобальный уникальный поиск по jobname или jobgroup можно выполнять через веб-интерфейс.
Настраиваемые параметры: типы запросов, пути запросов, параметры запросов и выражения Cron можно настраивать в режиме онлайн с немедленным вступлением в силу.
Динамическое управление: состояние задач можно динамически изменять, запускать/останавливать и завершать задачи в процессе с немедленным вступлением в силу.
Стратегии выполнения: поддерживаются разнообразные стратегии выполнения, включая запросы Get, PostJson и PostFrom формы.
Автоматическая регистрация: задачи регистрируются автоматически через определённые промежутки времени, также поддерживается ручная регистрация задач по расписанию.
Автоматическое выполнение: система автоматически обнаруживает зарегистрированные задачи и запускает их выполнение, также поддерживаются ручные триггеры для немедленного выполнения. Сообщение фабрики:
По умолчанию предоставляется способ отправки сообщений с помощью почтовой фабрики. Одновременно зарезервирован расширяемый интерфейс, который позволяет удобно расширять способы отправки сообщений, такие как SMS и DingTalk.
[ ]Уведомления по электронной почте:
При сбое задачи поддерживается отправка уведомлений по электронной почте. Поддерживается настройка групповой рассылки уведомлений по нескольким адресам электронной почты.
[ ]Отчёт о выполнении:
Поддерживается просмотр данных о выполнении в реальном времени и создание отчётов о расписании, таких как график распределения дат расписания и график распределения пропорций выполнения задач по группам.
[x] Триггер события:
Помимо запуска задач способами «Cron» и «Зависимость от задачи», предоставляется API-сервис для однократного запуска задачи.
[ ] Скриптовые задачи:
Поддерживаются разработка и выполнение скриптовых задач на распределённой платформе GLUE, включая типы скриптов Shell, Python и NodeJS.
[ ] Многопоточная параллельная обработка:
Система поддерживает многопоточное планирование выполнения, обеспечивая точное выполнение без блокировки.
[ ] Изоляция и понижение приоритета:
Планировщик потоков разделяется и изолируется, медленные задачи автоматически понижаются до уровня «Slow» пула потоков, чтобы предотвратить истощение планировщика потоков и повысить стабильность системы.
[ ] Gradle:
Будет отправлена последняя стабильная версия в центральный репозиторий Gradle, что облегчит пользователям доступ и использование.
[ ] Maven:
Будет отправлена последняя стабильная версия в центральный репозиторий Maven, что облегчит пользователям доступ и использование.
[ ] Согласованность:
На основе распределённой блокировки Redis обеспечивается окончательная согласованность при распределённом планировании, и каждая задача планирования будет выполняться только один раз.
[ ] Полная асинхронность:
Процесс планирования задач полностью реализован в асинхронном режиме, таком как асинхронное планирование, асинхронное выполнение и асинхронный обратный вызов, эффективно снижая нагрузку на интенсивное планирование и теоретически поддерживая выполнение задач любой продолжительности.
[x] Межъязыковая поддержка:
Предоставляются языконезависимые RESTFUL API-сервисы, позволяющие сторонним разработчикам подключаться к Task Manage на любом языке.
[x] Интернационализация:
В системе поддержки послепродажного обслуживания предусмотрена настройка интернационализации, доступны два языка на выбор: китайский и английский, по умолчанию используется китайский язык.
[ ] Контейнерная упаковка:
Предлагается официальный образ Docker, который постоянно обновляется и отправляется в Docker Hub, что позволяет продукту быть готовым к использованию сразу после распаковки.
Управление задачами =› генератор (отключить cron-генератор)
Управление задачами =› Генератор (включить cron-генератор)
Настройка сборки
# Клонировать проектgit clone https://github.com/dianjiu/task-manage-vue.git# Перейти в каталог проектаcd task-manage-vue# Установить зависимостиyarn install# Запустить сервисyarn run dev
# Построить тестовую средуyarn run build:stage# Создать производственную средуyarn run build:prod
Прочее
# Предварительный просмотр эффекта публикацииyarn run preview# Предварительный просмотр эффекта публикации + статический анализ ресурсовyarn run preview ----report# Проверка формата кодаyarn run lint# Исправление ошибок форматирования кодаyarn run lint ----fix
Мы предоставим вам отзыв в течение 2 рабочих дней через внутреннее сообщение!
Заполните причину отчета внимательно и по возможности подробно опишите ее.
Выберите тип отчета
Отмена
Отправить
Обжалование ошибочного суждения
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )