Skip to content

Update Quartz.NET clustering documentation for elsa-extensions PR #110 convenience API - #145

Merged
sfmskywalker merged 3 commits into
mainfrom
copilot/update-quartz-net-documentation
Dec 30, 2025
Merged

Update Quartz.NET clustering documentation for elsa-extensions PR #110 convenience API#145
sfmskywalker merged 3 commits into
mainfrom
copilot/update-quartz-net-documentation

Conversation

Copilot AI commented Dec 29, 2025

Copy link
Copy Markdown
Contributor

The distributed hosting documentation referenced outdated Quartz.NET configuration patterns and did not clearly explain when clustering is required. Updated to reflect the convenience API from elsa-extensions PR #110 that automatically enables clustering with database providers.

Changes

  • When clustering is required: Added explicit conditions (multiple instances + Quartz scheduler + scheduled activities)
  • Convenience API: Documented automatic clustering when using UsePostgreSql(), UseSqlServer(), or UseMySql() extensions
  • How it works: Added explanation of Quartz table creation, node coordination via database locks, and automatic failover
  • Advanced configuration: Added optional customization examples for ClusterCheckinInterval and ClusterCheckinMisfireThreshold

Example

Before (manual clustering configuration required):

elsa.UseQuartz(quartz =>
{
   // This extension enables cluster mode automatically.
   quartz.UsePostgreSql(postgresConnectionString);
});

After (explicit automatic clustering):

// Clustering is automatically enabled when using a database provider
elsa.UseQuartz(quartz =>
{
   quartz.UsePostgreSql(postgresConnectionString);
   // No additional clustering configuration needed
});

The update clarifies that clustering "just works" with database providers per the new convenience API pattern.

Original prompt

This section details on the original issue you should resolve

<issue_title>Quartz.NET integration for clustered deployments</issue_title>
<issue_description>Documentation must be updated to clearly explain clustered Quartz.NET usage in distributed hosting scenarios. Specifically, the existing documentation section on Distributed Hosting and Quartz.NET clustered mode https://docs.elsaworkflows.io/hosting/distributed-hosting#id-4.-quartz.net-clustered-mode should be revised to reflect the lates Elsa architecture (see latest PR: elsa-workflows/elsa-extensions#110), clearly describe when clustering is required, and provide guidance aligned with the new convenience configuration API (elsa-workflows/elsa-extensions#110).

See elsa-workflows/elsa-extensions#109 for background information.</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

…lear requirements

Co-authored-by: sfmskywalker <938393+sfmskywalker@users.noreply.github.com>
Copilot AI changed the title [WIP] Update documentation for clustered Quartz.NET integration Update Quartz.NET clustering documentation for elsa-extensions PR #110 convenience API Dec 29, 2025
Copilot AI requested a review from sfmskywalker December 29, 2025 09:10
@sfmskywalker
sfmskywalker marked this pull request as ready for review December 29, 2025 09:56
Copilot AI review requested due to automatic review settings December 29, 2025 09:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Quartz.NET clustering documentation in the distributed hosting guide to reflect the new convenience API introduced in elsa-extensions PR #110, which automatically enables clustering when database providers are configured.

Key changes:

  • Added explicit conditions explaining when Quartz.NET clustering is required (multiple instances + Quartz scheduler + scheduled activities)
  • Documented the automatic clustering behavior when using database provider extensions (UsePostgreSql(), UseSqlServer(), UseMySql())
  • Added a detailed explanation of how Quartz.NET clustering works internally (table creation, node coordination, failover)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread hosting/distributed-hosting.md Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@sfmskywalker
sfmskywalker merged commit 8a393da into main Dec 30, 2025
4 checks passed
@sfmskywalker
sfmskywalker deleted the copilot/update-quartz-net-documentation branch December 30, 2025 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Quartz.NET integration for clustered deployments

3 participants