Introduction

The Scheduler Plugin is a userview menu for Joget Enterprise and Professional to schedule jobs to run at a specific date and time. You can use this plugin to trigger any process tools (except the Form Data Update Tool, which runs only in a process flow). 

For example, you can program the Scheduler Plugin to call a JSON POST API plugin to execute a process start at 8:00 am every day in September. Your process could be designed to update some database tables and send out an email notification.

The Scheduler Plugin uses the Java Cron Expression to determine the trigger time. A Cron Expression is a string consisting of six or seven subexpressions (fields) that describe individual details of the schedule. These fields, separated by white space, can contain any of the allowed values with various combinations of the allowed characters for that field. Only future dates are allowed in the cron expression field.

This plugin source code is available in a new open-source repository at https://github.com/jogetoss/. JogetOSS is a community-led team for open-source software related to the Joget no-code/low-code application platform. Projects under JogetOSS are community-driven and community-supported, and you are welcome to contribute to the projects.

This plugin is not compatible with Joget Cloud and was designed to work only in Joget On-Premise.


Plugin Info

Plugins Available in the Bundle:

  1. Scheduler Tool

This plugin bundle is compatible with Joget DX 7.0.7 and onwards.

Expected Outcome

To be able to create scheduled tasks inside the app through the UI menu.

Figure 1: Scheduler Menu

Get Started

Steps

Where to get the plugin

Refer to the source code or the marketplace page.


How to install and use the plugin

 1. You can choose to create your own app or import the sample app below.

2. To access the Scheduler menu in your app, simply add a Scheduler menu inside your UI.

Figure 2: Scheduler UI Builder


3. Publish and run the UI.

4, Access the Scheduler Menu and create a new task.

Figure 3: Create a new task


5. In this example, we will create a task that creates a new record every day at 00:00.

Figure 4: Filling up the form

Scheduler Menu Properties

Figure 5: Scheduler Menu Properties

Configure Scheduler

NameDescription
Job NameJob label.
Cron ExpressionA cron expression is a string comprising five or six fields separated by white space that represents a set of times, normally as a schedule to execute some routine.
AppSelected app.
Plugin

Select from a list of tools to schedule:

  • BeanShell
  • Counter Increment
  • SQL Query
  • Email
  • Export Form Email
  • File Add Image Tool
  • Update Form Date

and many more.

Source Code and Plugin Download

For Joget DX Enterprise & Professional editions, you can download at the marketplace: https://marketplace.joget.org/jw/web/userview/mp/mpp/_/vad?id=scheduler_v6-1.


For source code,

  1. Please visit https://github.com/jogetoss/scheduler for the plugin source code.
  2. You can find the latest release at https://github.com/jogetoss/scheduler/releases.
  3. Upload the plugin to your Joget by navigating to Settings > Manage Plugins > Upload Plugin as admin.

Exporting Scheduler Data

Do note that when you export an app, it will not include the scheduler records by default, so you will have to handle this separately. To ensure that your scheduled job configurations are successfully promoted across environments, you will need to perform a manual data export and import of the Scheduler data records, specifically for the sch_job_def table, which stores the Scheduler job definitions.

Here is how you can do it:

1. Export the Scheduler Data:

  • Use a database utility like SQLyog (for MySQL/MariaDB) or any other SQL client to connect to your Joget development environment's database.
  • Export the contents of the sch_job_def table into a .sql file.

2. Import the Scheduler Data:

  • Connect to your test environment’s database using the same SQL client.
  • Import the .sql file into the test environment's database, ensuring that the sch_job_def table is populated with the necessary job configurations.

3. Edit and Start Scheduler Jobs:

  • After importing the application and the sch_job_def database records into your Joget test environment, go to the userview where the Scheduler is configured.
  • Click to edit each scheduled job record to ensure the settings are correct, and then start the scheduler jobs as needed.

This process should successfully transfer your scheduled job configurations from the development environment to the test environment.

Download Demo App

  • No labels