This commit is contained in:
MysticBoy
2020-06-08 19:15:59 +08:00

View File

@@ -5,12 +5,12 @@
[![Build status](https://ci.appveyor.com/api/projects/status/0ojmooqvycks11kw?svg=true)](https://ci.appveyor.com/project/MaiKeBing/silkierquartz) [![Build status](https://ci.appveyor.com/api/projects/status/0ojmooqvycks11kw?svg=true)](https://ci.appveyor.com/project/MaiKeBing/silkierquartz)
![.NET Core](https://github.com/maikebing/SilkierQuartz/workflows/.NET%20Core/badge.svg?branch=master) ![.NET Core](https://github.com/maikebing/SilkierQuartz/workflows/.NET%20Core/badge.svg?branch=master)
SilkierQuartz is a new after merging [SilkierQuartz](https://github.com/jlucansky/SilkierQuartz) and [QuartzHostedService](https://github.com/mukmyash/QuartzHostedService)! SilkierQuartz is a new after merging [Quartzmin](https://github.com/jlucansky/Quartzmin) and [QuartzHostedService](https://github.com/mukmyash/QuartzHostedService)!
> [Quartz.NET](https://www.quartz-scheduler.net) is a full-featured, open source job scheduling system that can be used from smallest apps to large scale enterprise systems. > [Quartz.NET](https://www.quartz-scheduler.net) is a full-featured, open source job scheduling system that can be used from smallest apps to large scale enterprise systems.
> [SilkierQuartz](https://github.com/jlucansky/SilkierQuartz) SilkierQuartz is powerful, easy to use web management tool for Quartz.NET > [Quartzmin](https://github.com/jlucansky/Quartzmin) Quartzmin is powerful, easy to use web management tool for Quartz.NET
> [QuartzHostedService](https://github.com/mukmyash/QuartzHostedService) QuartzHostedService is easy to host Quartz as service in .Net Core ! > [QuartzHostedService](https://github.com/mukmyash/QuartzHostedService) QuartzHostedService is easy to host Quartz as service in .Net Core !
@@ -20,13 +20,18 @@ So
SilkierQuartz can be used within your existing application with minimum effort as a Quartz.NET plugin when it automatically creates embedded web server. Or it can be plugged into your existing OWIN-based web application as a middleware. SilkierQuartz can be used within your existing application with minimum effort as a Quartz.NET plugin when it automatically creates embedded web server. Or it can be plugged into your existing OWIN-based web application as a middleware.
![Demo](https://raw.githubusercontent.com/jlucansky/public-assets/master/SilkierQuartz/demo.gif) ![Demo](https://raw.githubusercontent.com/jlucansky/public-assets/master/Quartzmin/demo.gif)
The goal of this project is to provide convenient tool to utilize most of the functionality that Quartz.NET enables. The biggest challenge was to create a simple yet effective editor of job data map which is heart of Quartz.NET. Every job data map item is strongly typed and SilkierQuartz can be easily extended with a custom editor for your specific type beside standard supported types such as String, Integer, DateTime and so on. The goal of this project is to provide convenient tool to utilize most of the functionality that Quartz.NET enables. The biggest challenge was to create a simple yet effective editor of job data map which is heart of Quartz.NET. Every job data map item is strongly typed and SilkierQuartz can be easily extended with a custom editor for your specific type beside standard supported types such as String, Integer, DateTime and so on.
SilkierQuartz was created with **Semantic UI** and **Handlebars.Net** as the template engine. SilkierQuartz was created with **Semantic UI** and **Handlebars.Net** as the template engine.
## Features ## SilkierQuartz's Features
- automatically discover IJob subclasses with SilkierQuartzAttribute
- With QuartzHostedService and more extensions
## Quartzmin's Features
- Add, modify jobs and triggers - Add, modify jobs and triggers
- Add, modify calendars (Annual, Cron, Daily, Holiday, Monthly, Weekly) - Add, modify calendars (Annual, Cron, Daily, Holiday, Monthly, Weekly)
- Change trigger type to Cron, Simple, Calendar Interval or Daily Time Interval - Change trigger type to Cron, Simple, Calendar Interval or Daily Time Interval
@@ -67,6 +72,26 @@ public void Configuration(IAppBuilder app)
``` ```
### ASP.NET Core middleware ### ASP.NET Core middleware
Add to your `Program.cs` file:
```csharp
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.ConfigureSilkierQuartzHost();
}
```
Add to your `Startup.cs` file: Add to your `Startup.cs` file:
```csharp ```csharp
public void ConfigureServices(IServiceCollection services) public void ConfigureServices(IServiceCollection services)
@@ -77,9 +102,13 @@ public void ConfigureServices(IServiceCollection services)
public void Configure(IApplicationBuilder app) public void Configure(IApplicationBuilder app)
{ {
app.UseSilkierQuartz(new SilkierQuartzOptions() app.UseSilkierQuartz(new SilkierQuartzOptions()
{ {
Scheduler = StdSchedulerFactory.GetDefaultScheduler().Result Scheduler = scheduler,
}); VirtualPathRoot = "/SilkierQuartz",
UseLocalTime = true,
DefaultDateFormat = "yyyy-MM-dd",
DefaultTimeFormat = "HH:mm:ss"
});
} }
``` ```