Giter Club home page Giter Club logo

db-scheduler-ui's Introduction

DB Scheduler UI

build status License

A UI extension for db-scheduler that provides a browser accessible dashboard for monitoring and basic administration of tasks.

Features

  • View tasks that are Scheduled, Running or Failed.
  • Re-run or Run your task directly from the User Interface
  • Delete tasks
  • Uses SpringBoot to launch a UI
  • View the history of all tasks (optional)

Screenshot

Screenshot

Screenshot

Table of contents

Prerequisites

  • An existing Spring Boot application, with db-scheduler
  • Minimum db-scheduler version 12.5
  • Minimum Java 11 and SpringBoot 2.7
  • Optional (if you want task history): db-scheduler-log version 0.7.0

Getting started

  1. Add the db-scheduler-ui spring boot starter maven dependency
<dependency>
    <groupId>no.bekk.db-scheduler-ui</groupId>
    <artifactId>db-scheduler-ui-starter</artifactId>
    <version>1.0.1</version>
</dependency>
  1. Read the db-scheduler readme and follow the getting started guide. The most important is to create the scheduled_tasks table correctly. You do not need to add db-scheduler as a dependency.
  2. Start your application. The db-scheduler UI can be reached at <your-app-url>/db-scheduler

Optional: task history

If you want to add task history to your UI you need to add the following dependency:

<dependency>
    <groupId>io.rocketbase.extension</groupId>
    <artifactId>db-scheduler-log-spring-boot-starter</artifactId>
    <version>0.7.0</version>
</dependency>

Follow the readme to create the correct database table.

You also need to set db-scheduler-ui.history=true in your application.properties file.

How it works

db-scheduler-ui adds a REST-api package that has a bundled frontend application. Springboot is used to configure beans and handle dependencies within the library and your application. The user interface makes calls to the scheduler-client, where it can fetch, delete, run, and reschedule tasks. These tasks are then shown in the web application. An optional log module can also be added, making it possible to view the history of all your task executions.

Configuration

db-scheduler-ui can be configured using the following options:

Turns on db-scheduler-log, default value is false. See Optional: task history

db-scheduler-ui.history=false

If you for some reason want to hide the task data you can set this to false. defaults to true
db-scheduler-ui.task-data=true

Contributing

Feel free to create pull requests if there are features or improvements you want to add. PR's need to be approved by one of the maintainers. To publish a new version, create a release in Github and tag it with a SemVer version. A new release will then be released to maven central by a github action using JReleaser.

Before submitting a PR make sure to run mvn spotless:apply to format the code correctly. Please use the prettier config when making frontend changes

Local development

Prerequisites:

  • Maven
  • JDK11
  • Node
  • npm

There are two ways to run the frontend locally.

  1. running npm run dev inside the db-scheduler-ui-frontend folder
  2. running mvn install will build the frontend and copy the output to the resources folder in the db-scheduler-ui module. The frontend will then be available at the same port as the example app.

To run the backend run mvn clean install and then run the example app.

db-scheduler-ui's People

Contributors

vegarrsm avatar johannabjoremo avatar eskiltorland avatar sveinbma avatar kagkarlsson avatar 5v715 avatar geirsagberg avatar ljh131 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.