Быстрый обзор задач: динамическая структура для выполнения сценариев с поддержкой их добавления, удаления и изменения во время работы
Quick-Task — это простая динамическая система для управления сценариями, которая позволяет выполнять сценарии на этапе выполнения, добавлять, удалять и изменять их динамически. Она может быть полезна для тестирования интерфейсов, исправления данных, запуска периодических задач или проверки скриптов в серверной части.
Добавьте репозиторий:
<repositories>
<repository>
<id>YiHui-Repo</id>
<url>https://raw.githubusercontent.com/liuyueyi/maven-repository/master/repository</url>
</repository>
</repositories>
Добавьте зависимость проекта:
<dependency>
<groupId>com.git.hui</groupId>
<artifactId>task-core</artifactId>
<version>0.0.1</version>
</dependency>
После загрузки исходного кода вы можете обратиться к классу com.git.hui.task.AppLaunch
для запуска приложения. Класс будет отслеживать изменения в каталоге /tmp/script/TestScript.groovy
.
Создайте скрипт Groovy и поместите его в каталог /tmp/script/
(например, DemoScript.groovy
):
package com.git.hui.task
import com.git.hui.task.api.ITask
class DemoScript implements ITask {
@Override
void run() {
println name() + " | now > : >>" + System.currentTimeMillis()
}
@Override
void interrupt() {
println "over"
}
}
Затем создайте класс запуска (например, AppRunner):
public class AppRunner {
// main
public static void main(String[] args) throws Exception {
new ScriptExecuteEngine().run("/tmp/script/");
Thread.sleep(24 *60 * 60 * 1000);
}
// junit
@Test
public void testTaskRun() {
new ScriptExecuteEngine().run("/tmp/script/");
Thread.sleep(24 *60 * 60 * 1000);
}
}
После запуска приложения вы можете:
/tmp/script/DemoScript.groovy
, сохранить изменения и проверить, был ли старый скрипт закрыт и запущен новый;/tmp/script
;/tmp/script
;Обратите внимание, что не следует использовать команду System.exit(1)
в скриптах Groovy, так как это приведёт к остановке всего приложения.
Структура проекта проста и включает несколько основных компонентов:
Также предусмотрена возможность расширения функциональности через плагины, которые пока не реализованы. Если проект будет интегрирован в экосистему Spring, то поддержка плагинов будет значительно упрощена.
Плагины могут включать:
Статьи, связанные с техническими аспектами:
Статьи о проекте Quick-Task:
Блог одного серого — это личный блог, в котором публикуются все статьи об учёбе и работе. Приглашаем всех посетить его.
Доверяй, но проверяй. Представленная здесь информация является личным мнением автора. Из-за ограниченных возможностей автора могут быть упущения и ошибки. Если вы обнаружите ошибку или у вас есть предложения по улучшению, пожалуйста, сообщите нам. Мы будем благодарны за вашу критику и предложения.
— Адрес в Weibo: Блог одного серого. — QQ: один серый / 3302797840. — WeChat: один серый / liuyueyi25.
На общедоступный аккаунт и блог.
Код оплаты:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )