{"id":18266147,"url":"https://github.com/arturmareknowak/quartzclusteringpoc","last_synced_at":"2026-04-14T00:03:04.234Z","repository":{"id":183258400,"uuid":"634992067","full_name":"ArturMarekNowak/QuartzClusteringPoc","owner":"ArturMarekNowak","description":"This project implements jobs executions in one replica only in multi-replica application with utilization of Quartz.NET library","archived":false,"fork":false,"pushed_at":"2024-02-26T12:51:46.000Z","size":260,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-14T20:40:09.059Z","etag":null,"topics":["docker-compose","dotnet","quartz","replication"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArturMarekNowak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-05-01T18:09:54.000Z","updated_at":"2024-03-15T11:59:26.000Z","dependencies_parsed_at":"2024-02-26T13:31:50.630Z","dependency_job_id":"eb9d1e29-fab4-45f9-837a-90a4b13eb410","html_url":"https://github.com/ArturMarekNowak/QuartzClusteringPoc","commit_stats":null,"previous_names":["arturmareknowak/quartzclusteringpoc"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArturMarekNowak%2FQuartzClusteringPoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArturMarekNowak%2FQuartzClusteringPoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArturMarekNowak%2FQuartzClusteringPoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArturMarekNowak%2FQuartzClusteringPoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArturMarekNowak","download_url":"https://codeload.github.com/ArturMarekNowak/QuartzClusteringPoc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247958722,"owners_count":21024829,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-compose","dotnet","quartz","replication"],"created_at":"2024-11-05T11:22:08.317Z","updated_at":"2026-04-14T00:03:04.204Z","avatar_url":"https://github.com/ArturMarekNowak.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# QuartzClusteringPoC\n[![Build](https://github.com/ArturMarekNowak/QuartzClusteringPoC/actions/workflows/workflow.yml/badge.svg)](https://github.com/ArturMarekNowak/QuartzClusteringPoC/actions/workflows/workflow.yml/badge.svg) [![Trivy and dockler](https://github.com/ArturMarekNowak/QuartzClusteringPoC/actions/workflows/image-scan.yml/badge.svg)](https://github.com/ArturMarekNowak/QuartzClusteringPoC/actions/workflows/image-scan.yml/badge.svg) [![CodeFactor](https://www.codefactor.io/repository/github/arturmareknowak/QuartzClusteringPoC/badge)](https://www.codefactor.io/repository/github/arturmareknowak/QuartzClusteringPoC)\n\nThis project implements jobs executions in one replica only in multi-replica application  with utilization of Quart.NET library\n\n## Table of contents\n* [General info](#general-info)\n* [Technologies](#technologies)\n* [Setup](#setup)\n* [Status](#status)\n* [Inspiration](#inspiration)\n\n## General info\n\nThe 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.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"./docs/FailedInstance.png\"/\u003e\n\u003cp align=\"center\"\u003ePic.1 Example of failover mechanism\u003c/p\u003e\n\nOverall project consists of four docker containers. Three with .NET API and one with postgres database.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"./docs/network.png\"\u003e\n\u003cp align=\"center\"\u003ePic.2 Visualization of docker compose project\u003c/p\u003e\n\n\n## Technologies\n* .NET 8\n* Postgres\n* Docker\n* Quartz.NET\n\n## Setup\n1. Run docker compose in src folder: `docker-compose up`\n\n## Status\nProject is: _finished_\n\n## Inspiration\nShower thoughts","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farturmareknowak%2Fquartzclusteringpoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farturmareknowak%2Fquartzclusteringpoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farturmareknowak%2Fquartzclusteringpoc/lists"}