Skip to content

An abp application module that allows manage quartz scheduling

License

Notifications You must be signed in to change notification settings

SyrnaAbp/Syrna.BlazoriseQuartz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Syrna.BlazoriseQuartz

Quartz scheduling module for ABP framework.

ABP version build and test NuGet Download NuGet (with prereleases)

An abp application module that allows manage quartz scheduling.

Installation

  1. Install the following NuGet packages. (see how)

    • Syrna.BlazoriseQuartz.Application
    • Syrna.BlazoriseQuartz.Application.Contracts
    • Syrna.BlazoriseQuartz.Domain
    • Syrna.BlazoriseQuartz.Domain.Shared
    • Syrna.BlazoriseQuartz.EntityFrameworkCore
    • Syrna.BlazoriseQuartz.HttpApi
    • Syrna.BlazoriseQuartz.HttpApi.Client
    • Syrna.BlazoriseQuartz.Web
    • Syrna.BlazoriseQuartz.Blazor
    • Syrna.BlazoriseQuartz.Blazor.Server
    • Syrna.BlazoriseQuartz.Blazor.WebAssembly
  2. Add DependsOn(typeof(BlazoriseQuartzXxxModule)) attribute to configure the module dependencies. (see how)

  3. Add builder.ConfigureBlazoriseQuartz(); to the OnModelCreating() method in MyProjectMigrationsDbContext.cs.

  4. Add EF Core migrations and update your database. See: ABP document.

Requirements

  • .NET 9
  • ABP 9.1.1
  • Quartz 3.13.0+

Features

  • Add, modify jobs and triggers
  • Support Cron, Daily, Simple trigger
  • Pause, resume, clone scheduled jobs
  • Create custom UI to configure job
  • Dynamic variables support
  • Monitor currently executing jobs
  • Load custom job DLLs through configuration
  • Display job execution logs, state, return message and error message
  • Filter execution logs
  • Store execution logs into any database
    • Build-in support for SQLite, MSSQL and PostgreSQL
  • Auto cleanup of old execution logs
    • Configurable logs retention days
  • Build-in Jobs
    • HTTP API client job

Usage

  1. You must create quartz database. You can find sql mssql script https://github.com/SyrnaAbp/Syrna.BlazoriseQuartz/blob/dev/demos/MainDemo/src/Syrna.BlazoriseQuartz.MainDemo.DbMigrator/sqlserver.sql
  2. If you will change database, get your sql script from https://github.com/quartznet/quartznet/tree/main/database/tables
  3. modify your appsettings.json
  4. More details can be found at BlazoriseQuartz

PostgreSql

"ConnectionStrings": {
  "Default": "Host=<db_host>;Port=5432;Database=<db_name>;Username=<db_user>;Password=<db_password>"
},
"Quartz": {
  ...
  "quartz.jobStore.driverDelegateType": "Quartz.Impl.AdoJobStore.PostgreSQLDelegate, Quartz",
  ...
  "quartz.dataSource.myDS.provider": "Npgsql"
},
"BlazoriseQuartz": {
  "DataStoreProvider": "PostgreSQL",

MsSql

"ConnectionStrings": {
 "Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=SyrnaBlazoriseQuartz;Trusted_Connection=True"
},
"Quartz": {
  ...
 "quartz.jobStore.driverDelegateType": "Quartz.Impl.AdoJobStore.StdAdoDelegate, Quartz",
  ...
  "quartz.dataSource.myDS.provider": "SqlServer"
},
"BlazoriseQuartz": {
  "DataStoreProvider": "SqlServer",

Overview History Error Details Schedules Execution History New Schedule Jobdetail New Schedule Triggerdetail Cron New Schedule Triggerdetail Daily New Schedule Triggerdetail Simple

Reference

This project based on BlazoriseQuartz

Differences

  1. Demo project created for OpenIddict
  2. Demo project extended modules added
  3. Blazor modules added
  4. Abp Localization system integrated
  5. Turkish localization
  6. English localization