https://github.com/arturmareknowak/quartzclusteringpoc
This project implements jobs executions in one replica only in multi-replica application with utilization of Quartz.NET library
https://github.com/arturmareknowak/quartzclusteringpoc
docker-compose dotnet quartz replication
Last synced: 3 months ago
JSON representation
This project implements jobs executions in one replica only in multi-replica application with utilization of Quartz.NET library
- Host: GitHub
- URL: https://github.com/arturmareknowak/quartzclusteringpoc
- Owner: ArturMarekNowak
- License: mit
- Created: 2023-05-01T18:09:54.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-02-26T12:51:46.000Z (over 2 years ago)
- Last Synced: 2025-02-14T20:40:09.059Z (over 1 year ago)
- Topics: docker-compose, dotnet, quartz, replication
- Language: C#
- Homepage:
- Size: 254 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# QuartzClusteringPoC
[](https://github.com/ArturMarekNowak/QuartzClusteringPoC/actions/workflows/workflow.yml/badge.svg) [](https://github.com/ArturMarekNowak/QuartzClusteringPoC/actions/workflows/image-scan.yml/badge.svg) [](https://www.codefactor.io/repository/github/arturmareknowak/QuartzClusteringPoC)
This project implements jobs executions in one replica only in multi-replica application with utilization of Quart.NET library
## Table of contents
* [General info](#general-info)
* [Technologies](#technologies)
* [Setup](#setup)
* [Status](#status)
* [Inspiration](#inspiration)
## General info
The implementation is really simple as Quartz.NET comes with out-of-the-box clustering mechanism. Database contains a proper schema which provides reliable and only source of truth about executed jobs. Replicas communicate with the database and aware who is executing job, if execution is running now etc. Failovers and retries is also available.
Pic.1 Example of failover mechanism
Overall project consists of four docker containers. Three with .NET API and one with postgres database.
Pic.2 Visualization of docker compose project
## Technologies
* .NET 8
* Postgres
* Docker
* Quartz.NET
## Setup
1. Run docker compose in src folder: `docker-compose up`
## Status
Project is: _finished_
## Inspiration
Shower thoughts